UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

8,051 lines 345 kB
;
(function () {
  System.register(["./chunk-legacy-Re9CbdfL.js"], function (_export, _context) {
    "use strict";

    var __esm, __export, global, init_dist, shared_esm_bundler_exports, EMPTY_OBJ, EMPTY_ARR, NOOP, NO, isOn, isModelListener, extend, remove, hasOwnProperty$1, hasOwn, isArray, isMap, isSet, isDate, isRegExp, isFunction, isString, isSymbol, isObject, isPromise, objectToString, toTypeString, toRawType, isPlainObject, isIntegerKey, isReservedProp, isBuiltInDirective, cacheStringFunction, camelizeRE, camelize, hyphenateRE, hyphenate, capitalize, toHandlerKey, hasChanged, invokeArrayFns, def, looseToNumber, toNumber, _globalThis, getGlobalThis, identRE, PatchFlags, PatchFlagNames, ShapeFlags, SlotFlags, slotFlagsText, isGloballyAllowed, isGloballyWhitelisted, range, listDelimiterRE, propertyDelimiterRE, styleCommentRE, HTML_TAGS, SVG_TAGS, MATH_TAGS, VOID_TAGS, isHTMLTag, isSVGTag, isMathMLTag, isVoidTag, specialBooleanAttrs, isSpecialBooleanAttr, isBooleanAttr, unsafeAttrCharRE, attrValidationCache, propsToAttrMap, isKnownHtmlAttr, isKnownSvgAttr, isKnownMathMLAttr, escapeRE, commentStripRE, cssVarNameEscapeSymbolsRE, isRef$1, toDisplayString, replacer, stringifySymbol, init_shared_esm_bundler, activeEffectScope, EffectScope, activeSub, pausedQueueEffects, ReactiveEffect, batchDepth, batchedSub, batchedComputed, shouldTrack, trackStack, globalVersion, Link, Dep, targetMap, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ARRAY_ITERATE_KEY, arrayInstrumentations, arrayProto, isNonTrackableKeys, builtInSymbols, BaseReactiveHandler, MutableReactiveHandler, ReadonlyReactiveHandler, mutableHandlers, readonlyHandlers, shallowReactiveHandlers, shallowReadonlyHandlers, toShallow, getProto, mutableCollectionHandlers, shallowCollectionHandlers, readonlyCollectionHandlers, shallowReadonlyCollectionHandlers, reactiveMap, shallowReactiveMap, readonlyMap, shallowReadonlyMap, toReactive, toReadonly, RefImpl, shallowUnwrapHandlers, CustomRefImpl, ObjectRefImpl, GetterRefImpl, ComputedRefImpl, TrackOpTypes, TriggerOpTypes, INITIAL_WATCHER_VALUE, cleanupMap, activeWatcher, init_reactivity_esm_bundler, stack, ErrorCodes, ErrorTypeStrings$1, queue, flushIndex, pendingPostFlushCbs, activePostFlushCbs, postFlushIndex, resolvedPromise, currentFlushPromise, getId, devtools$1, buffer, currentRenderingInstance, currentScopeId, withScopeId, TeleportEndKey, isTeleport, isTeleportDisabled, isTeleportDeferred, isTargetSVG, isTargetMathML, resolveTarget, TeleportImpl, Teleport, leaveCbKey, enterCbKey$1, TransitionHookValidator, BaseTransitionPropsValidators, recursiveGetSubtree, BaseTransitionImpl, BaseTransition, hasLoggedMismatchError, logMismatchError, isSVGContainer, isMathMLContainer, getContainerType, isComment, allowMismatchAttr, MismatchTypeString, requestIdleCallback, cancelIdleCallback, hydrateOnIdle, hydrateOnVisible, hydrateOnMediaQuery, hydrateOnInteraction, isAsyncWrapper, isKeepAlive, KeepAlive, createHook, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, onServerPrefetch, onRenderTriggered, onRenderTracked, COMPONENTS, DIRECTIVES, NULL_DYNAMIC_COMPONENT, getPublicInstance, publicPropertiesMap, hasSetupBinding, PublicInstanceProxyHandlers, RuntimeCompiledPublicInstanceProxyHandlers, shouldCacheAccess, internalOptionMergeStrats, uid$1, currentApp, internalObjectProto, createInternalObject, isInternalObject, mixinPropsCache, isInternalKey, normalizeSlotValue, normalizeSlot, normalizeObjectSlots, normalizeVNodeSlots, assignSlots, initSlots, updateSlots, queuePostRenderEffect, ssrContextKey, useSSRContext, getModelModifiers, getFunctionalFallthrough, filterModelListeners, isSuspense, suspenseId, Suspense, Fragment, Text, Comment, Static, blockStack, currentBlock, isBlockTreeEnabled, normalizeKey, normalizeRef, createVNode, emptyAppContext, uid, currentInstance, getCurrentInstance, internalSetCurrentInstance, setInSSRSetupState, setCurrentInstance, unsetCurrentInstance, isInSSRComponentSetup, compile$1, installWithProxy, isRuntimeOnly, attrsProxyHandlers, computed$1, version, warn, ErrorTypeStrings, devtools, setDevtoolsHook, ssrUtils, resolveFilter, compatUtils, DeprecationTypes, init_runtime_core_esm_bundler, runtime_dom_esm_bundler_exports, policy, tt, unsafeToTrustedHTML, svgNS, mathmlNS, doc, templateContainer, nodeOps, TRANSITION, ANIMATION, vtcKey, DOMTransitionPropsValidators, TransitionPropsValidators, decorate$1, Transition, callHook, hasExplicitCallback, endId, vShowOriginalDisplay, vShowHidden, vShow, CSS_VAR_TEXT, displayRE, importantRE, prefixes, prefixCache, xlinkNS, veiKey, optionsModifierRE, cachedNow, p, getNow, isNativeOn, patchProp, REMOVAL, defineSSRCustomElement, BaseClass, VueElement, positionMap, newPositionMap, moveCbKey, enterCbKey, decorate, TransitionGroup, getModelAssigner, assignKey, vModelText, vModelCheckbox, vModelRadio, vModelSelect, vModelDynamic, systemModifiers, modifierGuards, withModifiers, keyNames, withKeys, rendererOptions, renderer, enabledHydration, render, hydrate, createApp, createSSRApp, ssrDirectiveInitialized, initDirectivesForSSR, init_runtime_dom_esm_bundler, vue_runtime_esm_bundler_exports, compile;
    /**
    * @vue/shared v3.5.13
    * (c) 2018-present Yuxi (Evan) You and Vue contributors
    * @license MIT
    **/
    /*! #__NO_SIDE_EFFECTS__ */
    /* @__NO_SIDE_EFFECTS__ */
    function makeMap(str) {
      const map = /* @__PURE__ */Object.create(null);
      for (const key of str.split(",")) map[key] = 1;
      return val => val in map;
    }
    function genPropsAccessExp(name) {
      return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;
    }
    function genCacheKey(source, options) {
      return source + JSON.stringify(options, (_, val) => typeof val === "function" ? val.toString() : val);
    }
    function generateCodeFrame(source, start = 0, end = source.length) {
      start = Math.max(0, Math.min(start, source.length));
      end = Math.max(0, Math.min(end, source.length));
      if (start > end) return "";
      let lines = source.split(/(\r?\n)/);
      const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
      lines = lines.filter((_, idx) => idx % 2 === 0);
      let count = 0;
      const res = [];
      for (let i = 0; i < lines.length; i++) {
        count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);
        if (count >= start) {
          for (let j = i - range; j <= i + range || end > count; j++) {
            if (j < 0 || j >= lines.length) continue;
            const line = j + 1;
            res.push(`${line}${" ".repeat(Math.max(3 - String(line).length, 0))}|  ${lines[j]}`);
            const lineLength = lines[j].length;
            const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;
            if (j === i) {
              const pad = start - (count - (lineLength + newLineSeqLength));
              const length = Math.max(1, end > count ? lineLength - pad : end - start);
              res.push(`   |  ` + " ".repeat(pad) + "^".repeat(length));
            } else if (j > i) {
              if (end > count) {
                const length = Math.max(Math.min(end - count, lineLength), 1);
                res.push(`   |  ` + "^".repeat(length));
              }
              count += lineLength + newLineSeqLength;
            }
          }
          break;
        }
      }
      return res.join("\n");
    }
    function normalizeStyle(value) {
      if (isArray(value)) {
        const res = {};
        for (let i = 0; i < value.length; i++) {
          const item = value[i];
          const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
          if (normalized) for (const key in normalized) res[key] = normalized[key];
        }
        return res;
      } else if (isString(value) || isObject(value)) return value;
    }
    function parseStringStyle(cssText) {
      const ret = {};
      cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach(item => {
        if (item) {
          const tmp = item.split(propertyDelimiterRE);
          tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
        }
      });
      return ret;
    }
    function stringifyStyle(styles) {
      if (!styles) return "";
      if (isString(styles)) return styles;
      let ret = "";
      for (const key in styles) {
        const value = styles[key];
        if (isString(value) || typeof value === "number") {
          const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
          ret += `${normalizedKey}:${value};`;
        }
      }
      return ret;
    }
    function normalizeClass(value) {
      let res = "";
      if (isString(value)) res = value;else if (isArray(value)) for (let i = 0; i < value.length; i++) {
        const normalized = normalizeClass(value[i]);
        if (normalized) res += normalized + " ";
      } else if (isObject(value)) {
        for (const name in value) if (value[name]) res += name + " ";
      }
      return res.trim();
    }
    function normalizeProps(props) {
      if (!props) return null;
      let {
        class: klass,
        style
      } = props;
      if (klass && !isString(klass)) props.class = normalizeClass(klass);
      if (style) props.style = normalizeStyle(style);
      return props;
    }
    function includeBooleanAttr(value) {
      return !!value || value === "";
    }
    function isSSRSafeAttrName(name) {
      if (attrValidationCache.hasOwnProperty(name)) return attrValidationCache[name];
      const isUnsafe = unsafeAttrCharRE.test(name);
      if (isUnsafe) console.error(`unsafe attribute name: ${name}`);
      return attrValidationCache[name] = !isUnsafe;
    }
    function isRenderableAttrValue(value) {
      if (value == null) return false;
      const type = typeof value;
      return type === "string" || type === "number" || type === "boolean";
    }
    function escapeHtml(string) {
      const str = "" + string;
      const match = escapeRE.exec(str);
      if (!match) return str;
      let html = "";
      let escaped;
      let index;
      let lastIndex = 0;
      for (index = match.index; index < str.length; index++) {
        switch (str.charCodeAt(index)) {
          case 34:
            escaped = "&quot;";
            break;
          case 38:
            escaped = "&amp;";
            break;
          case 39:
            escaped = "&#39;";
            break;
          case 60:
            escaped = "&lt;";
            break;
          case 62:
            escaped = "&gt;";
            break;
          default:
            continue;
        }
        if (lastIndex !== index) html += str.slice(lastIndex, index);
        lastIndex = index + 1;
        html += escaped;
      }
      return lastIndex !== index ? html + str.slice(lastIndex, index) : html;
    }
    function escapeHtmlComment(src) {
      return src.replace(commentStripRE, "");
    }
    function getEscapedCssVarName(key, doubleEscape) {
      return key.replace(cssVarNameEscapeSymbolsRE, s => doubleEscape ? s === "\"" ? "\\\\\\\"" : `\\\\${s}` : `\\${s}`);
    }
    function looseCompareArrays(a, b) {
      if (a.length !== b.length) return false;
      let equal = true;
      for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
      return equal;
    }
    function looseEqual(a, b) {
      if (a === b) return true;
      let aValidType = isDate(a);
      let bValidType = isDate(b);
      if (aValidType || bValidType) return aValidType && bValidType ? a.getTime() === b.getTime() : false;
      aValidType = isSymbol(a);
      bValidType = isSymbol(b);
      if (aValidType || bValidType) return a === b;
      aValidType = isArray(a);
      bValidType = isArray(b);
      if (aValidType || bValidType) return aValidType && bValidType ? looseCompareArrays(a, b) : false;
      aValidType = isObject(a);
      bValidType = isObject(b);
      if (aValidType || bValidType) {
        if (!aValidType || !bValidType) return false;
        if (Object.keys(a).length !== Object.keys(b).length) return false;
        for (const key in a) {
          const aHasKey = a.hasOwnProperty(key);
          const bHasKey = b.hasOwnProperty(key);
          if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) return false;
        }
      }
      return String(a) === String(b);
    }
    function looseIndexOf(arr, val) {
      return arr.findIndex(item => looseEqual(item, val));
    }
    //#endregion
    //#region ../../../node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
    function effectScope(detached) {
      return new EffectScope(detached);
    }
    function getCurrentScope() {
      return activeEffectScope;
    }
    function onScopeDispose(fn, failSilently = false) {
      if (activeEffectScope) activeEffectScope.cleanups.push(fn);
    }
    function batch(sub, isComputed = false) {
      sub.flags |= 8;
      if (isComputed) {
        sub.next = batchedComputed;
        batchedComputed = sub;
        return;
      }
      sub.next = batchedSub;
      batchedSub = sub;
    }
    function startBatch() {
      batchDepth++;
    }
    function endBatch() {
      if (--batchDepth > 0) return;
      if (batchedComputed) {
        let e = batchedComputed;
        batchedComputed = void 0;
        while (e) {
          const next = e.next;
          e.next = void 0;
          e.flags &= -9;
          e = next;
        }
      }
      let error;
      while (batchedSub) {
        let e = batchedSub;
        batchedSub = void 0;
        while (e) {
          const next = e.next;
          e.next = void 0;
          e.flags &= -9;
          if (e.flags & 1) try {
            e.trigger();
          } catch (err) {
            if (!error) error = err;
          }
          e = next;
        }
      }
      if (error) throw error;
    }
    function prepareDeps(sub) {
      for (let link = sub.deps; link; link = link.nextDep) {
        link.version = -1;
        link.prevActiveLink = link.dep.activeLink;
        link.dep.activeLink = link;
      }
    }
    function cleanupDeps(sub) {
      let head;
      let tail = sub.depsTail;
      let link = tail;
      while (link) {
        const prev = link.prevDep;
        if (link.version === -1) {
          if (link === tail) tail = prev;
          removeSub(link);
          removeDep(link);
        } else head = link;
        link.dep.activeLink = link.prevActiveLink;
        link.prevActiveLink = void 0;
        link = prev;
      }
      sub.deps = head;
      sub.depsTail = tail;
    }
    function isDirty(sub) {
      for (let link = sub.deps; link; link = link.nextDep) if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) return true;
      if (sub._dirty) return true;
      return false;
    }
    function refreshComputed(computed$2) {
      if (computed$2.flags & 4 && !(computed$2.flags & 16)) return;
      computed$2.flags &= -17;
      if (computed$2.globalVersion === globalVersion) return;
      computed$2.globalVersion = globalVersion;
      const dep = computed$2.dep;
      computed$2.flags |= 2;
      if (dep.version > 0 && !computed$2.isSSR && computed$2.deps && !isDirty(computed$2)) {
        computed$2.flags &= -3;
        return;
      }
      const prevSub = activeSub;
      const prevShouldTrack = shouldTrack;
      activeSub = computed$2;
      shouldTrack = true;
      try {
        prepareDeps(computed$2);
        const value = computed$2.fn(computed$2._value);
        if (dep.version === 0 || hasChanged(value, computed$2._value)) {
          computed$2._value = value;
          dep.version++;
        }
      } catch (err) {
        dep.version++;
        throw err;
      } finally {
        activeSub = prevSub;
        shouldTrack = prevShouldTrack;
        cleanupDeps(computed$2);
        computed$2.flags &= -3;
      }
    }
    function removeSub(link, soft = false) {
      const {
        dep,
        prevSub,
        nextSub
      } = link;
      if (prevSub) {
        prevSub.nextSub = nextSub;
        link.prevSub = void 0;
      }
      if (nextSub) {
        nextSub.prevSub = prevSub;
        link.nextSub = void 0;
      }
      if (dep.subs === link) {
        dep.subs = prevSub;
        if (!prevSub && dep.computed) {
          dep.computed.flags &= -5;
          for (let l = dep.computed.deps; l; l = l.nextDep) removeSub(l, true);
        }
      }
      if (!soft && ! --dep.sc && dep.map) dep.map.delete(dep.key);
    }
    function removeDep(link) {
      const {
        prevDep,
        nextDep
      } = link;
      if (prevDep) {
        prevDep.nextDep = nextDep;
        link.prevDep = void 0;
      }
      if (nextDep) {
        nextDep.prevDep = prevDep;
        link.nextDep = void 0;
      }
    }
    function effect(fn, options) {
      if (fn.effect instanceof ReactiveEffect) fn = fn.effect.fn;
      const e = new ReactiveEffect(fn);
      if (options) extend(e, options);
      try {
        e.run();
      } catch (err) {
        e.stop();
        throw err;
      }
      const runner = e.run.bind(e);
      runner.effect = e;
      return runner;
    }
    function stop(runner) {
      runner.effect.stop();
    }
    function pauseTracking() {
      trackStack.push(shouldTrack);
      shouldTrack = false;
    }
    function resetTracking() {
      const last = trackStack.pop();
      shouldTrack = last === void 0 ? true : last;
    }
    function cleanupEffect(e) {
      const {
        cleanup
      } = e;
      e.cleanup = void 0;
      if (cleanup) {
        const prevSub = activeSub;
        activeSub = void 0;
        try {
          cleanup();
        } finally {
          activeSub = prevSub;
        }
      }
    }
    function addSub(link) {
      link.dep.sc++;
      if (link.sub.flags & 4) {
        const computed$2 = link.dep.computed;
        if (computed$2 && !link.dep.subs) {
          computed$2.flags |= 20;
          for (let l = computed$2.deps; l; l = l.nextDep) addSub(l);
        }
        const currentTail = link.dep.subs;
        if (currentTail !== link) {
          link.prevSub = currentTail;
          if (currentTail) currentTail.nextSub = link;
        }
        link.dep.subs = link;
      }
    }
    function track(target, type, key) {
      if (shouldTrack && activeSub) {
        let depsMap = targetMap.get(target);
        if (!depsMap) targetMap.set(target, depsMap = /* @__PURE__ */new Map());
        let dep = depsMap.get(key);
        if (!dep) {
          depsMap.set(key, dep = new Dep());
          dep.map = depsMap;
          dep.key = key;
        }
        dep.track();
      }
    }
    function trigger(target, type, key, newValue, oldValue, oldTarget) {
      const depsMap = targetMap.get(target);
      if (!depsMap) {
        globalVersion++;
        return;
      }
      const run = dep => {
        if (dep) dep.trigger();
      };
      startBatch();
      if (type === "clear") depsMap.forEach(run);else {
        const targetIsArray = isArray(target);
        const isArrayIndex = targetIsArray && isIntegerKey(key);
        if (targetIsArray && key === "length") {
          const newLength = Number(newValue);
          depsMap.forEach((dep, key2) => {
            if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) run(dep);
          });
        } else {
          if (key !== void 0 || depsMap.has(void 0)) run(depsMap.get(key));
          if (isArrayIndex) run(depsMap.get(ARRAY_ITERATE_KEY));
          switch (type) {
            case "add":
              if (!targetIsArray) {
                run(depsMap.get(ITERATE_KEY));
                if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
              } else if (isArrayIndex) run(depsMap.get("length"));
              break;
            case "delete":
              if (!targetIsArray) {
                run(depsMap.get(ITERATE_KEY));
                if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
              }
              break;
            case "set":
              if (isMap(target)) run(depsMap.get(ITERATE_KEY));
              break;
          }
        }
      }
      endBatch();
    }
    function getDepFromReactive(object, key) {
      const depMap = targetMap.get(object);
      return depMap && depMap.get(key);
    }
    function reactiveReadArray(array) {
      const raw = toRaw(array);
      if (raw === array) return raw;
      track(raw, "iterate", ARRAY_ITERATE_KEY);
      return isShallow(array) ? raw : raw.map(toReactive);
    }
    function shallowReadArray(arr) {
      track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY);
      return arr;
    }
    function iterator(self$1, method, wrapValue) {
      const arr = shallowReadArray(self$1);
      const iter = arr[method]();
      if (arr !== self$1 && !isShallow(self$1)) {
        iter._next = iter.next;
        iter.next = () => {
          const result = iter._next();
          if (result.value) result.value = wrapValue(result.value);
          return result;
        };
      }
      return iter;
    }
    function apply(self$1, method, fn, thisArg, wrappedRetFn, args) {
      const arr = shallowReadArray(self$1);
      const needsWrap = arr !== self$1 && !isShallow(self$1);
      const methodFn = arr[method];
      if (methodFn !== arrayProto[method]) {
        const result2 = methodFn.apply(self$1, args);
        return needsWrap ? toReactive(result2) : result2;
      }
      let wrappedFn = fn;
      if (arr !== self$1) {
        if (needsWrap) wrappedFn = function (item, index) {
          return fn.call(this, toReactive(item), index, self$1);
        };else if (fn.length > 2) wrappedFn = function (item, index) {
          return fn.call(this, item, index, self$1);
        };
      }
      const result = methodFn.call(arr, wrappedFn, thisArg);
      return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
    }
    function reduce(self$1, method, fn, args) {
      const arr = shallowReadArray(self$1);
      let wrappedFn = fn;
      if (arr !== self$1) {
        if (!isShallow(self$1)) wrappedFn = function (acc, item, index) {
          return fn.call(this, acc, toReactive(item), index, self$1);
        };else if (fn.length > 3) wrappedFn = function (acc, item, index) {
          return fn.call(this, acc, item, index, self$1);
        };
      }
      return arr[method](wrappedFn, ...args);
    }
    function searchProxy(self$1, method, args) {
      const arr = toRaw(self$1);
      track(arr, "iterate", ARRAY_ITERATE_KEY);
      const res = arr[method](...args);
      if ((res === -1 || res === false) && isProxy(args[0])) {
        args[0] = toRaw(args[0]);
        return arr[method](...args);
      }
      return res;
    }
    function noTracking(self$1, method, args = []) {
      pauseTracking();
      startBatch();
      const res = toRaw(self$1)[method].apply(self$1, args);
      endBatch();
      resetTracking();
      return res;
    }
    function hasOwnProperty(key) {
      if (!isSymbol(key)) key = String(key);
      const obj = toRaw(this);
      track(obj, "has", key);
      return obj.hasOwnProperty(key);
    }
    function createIterableMethod(method, isReadonly2, isShallow2) {
      return function (...args) {
        const target = this["__v_raw"];
        const rawTarget = toRaw(target);
        const targetIsMap = isMap(rawTarget);
        const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
        const isKeyOnly = method === "keys" && targetIsMap;
        const innerIterator = target[method](...args);
        const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
        !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
        return {
          next() {
            const {
              value,
              done
            } = innerIterator.next();
            return done ? {
              value,
              done
            } : {
              value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
              done
            };
          },
          [Symbol.iterator]() {
            return this;
          }
        };
      };
    }
    function createReadonlyMethod(type) {
      return function (...args) {
        return type === "delete" ? false : type === "clear" ? void 0 : this;
      };
    }
    function createInstrumentations(readonly$1, shallow) {
      const instrumentations = {
        get(key) {
          const target = this["__v_raw"];
          const rawTarget = toRaw(target);
          const rawKey = toRaw(key);
          if (!readonly$1) {
            if (hasChanged(key, rawKey)) track(rawTarget, "get", key);
            track(rawTarget, "get", rawKey);
          }
          const {
            has
          } = getProto(rawTarget);
          const wrap = shallow ? toShallow : readonly$1 ? toReadonly : toReactive;
          if (has.call(rawTarget, key)) return wrap(target.get(key));else if (has.call(rawTarget, rawKey)) return wrap(target.get(rawKey));else if (target !== rawTarget) target.get(key);
        },
        get size() {
          const target = this["__v_raw"];
          !readonly$1 && track(toRaw(target), "iterate", ITERATE_KEY);
          return Reflect.get(target, "size", target);
        },
        has(key) {
          const target = this["__v_raw"];
          const rawTarget = toRaw(target);
          const rawKey = toRaw(key);
          if (!readonly$1) {
            if (hasChanged(key, rawKey)) track(rawTarget, "has", key);
            track(rawTarget, "has", rawKey);
          }
          return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
        },
        forEach(callback, thisArg) {
          const observed = this;
          const target = observed["__v_raw"];
          const rawTarget = toRaw(target);
          const wrap = shallow ? toShallow : readonly$1 ? toReadonly : toReactive;
          !readonly$1 && track(rawTarget, "iterate", ITERATE_KEY);
          return target.forEach((value, key) => {
            return callback.call(thisArg, wrap(value), wrap(key), observed);
          });
        }
      };
      extend(instrumentations, readonly$1 ? {
        add: createReadonlyMethod("add"),
        set: createReadonlyMethod("set"),
        delete: createReadonlyMethod("delete"),
        clear: createReadonlyMethod("clear")
      } : {
        add(value) {
          if (!shallow && !isShallow(value) && !isReadonly(value)) value = toRaw(value);
          const target = toRaw(this);
          if (!getProto(target).has.call(target, value)) {
            target.add(value);
            trigger(target, "add", value, value);
          }
          return this;
        },
        set(key, value) {
          if (!shallow && !isShallow(value) && !isReadonly(value)) value = toRaw(value);
          const target = toRaw(this);
          const {
            has,
            get
          } = getProto(target);
          let hadKey = has.call(target, key);
          if (!hadKey) {
            key = toRaw(key);
            hadKey = has.call(target, key);
          }
          const oldValue = get.call(target, key);
          target.set(key, value);
          if (!hadKey) trigger(target, "add", key, value);else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue);
          return this;
        },
        delete(key) {
          const target = toRaw(this);
          const {
            has,
            get
          } = getProto(target);
          let hadKey = has.call(target, key);
          if (!hadKey) {
            key = toRaw(key);
            hadKey = has.call(target, key);
          }
          const oldValue = get ? get.call(target, key) : void 0;
          const result = target.delete(key);
          if (hadKey) trigger(target, "delete", key, void 0, oldValue);
          return result;
        },
        clear() {
          const target = toRaw(this);
          const hadItems = target.size !== 0;
          const oldTarget = void 0;
          const result = target.clear();
          if (hadItems) trigger(target, "clear", void 0, void 0, oldTarget);
          return result;
        }
      });
      ["keys", "values", "entries", Symbol.iterator].forEach(method => {
        instrumentations[method] = createIterableMethod(method, readonly$1, shallow);
      });
      return instrumentations;
    }
    function createInstrumentationGetter(isReadonly2, shallow) {
      const instrumentations = createInstrumentations(isReadonly2, shallow);
      return (target, key, receiver) => {
        if (key === "__v_isReactive") return !isReadonly2;else if (key === "__v_isReadonly") return isReadonly2;else if (key === "__v_raw") return target;
        return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
      };
    }
    function targetTypeMap(rawType) {
      switch (rawType) {
        case "Object":
        case "Array":
          return 1;
        case "Map":
        case "Set":
        case "WeakMap":
        case "WeakSet":
          return 2;
        default:
          return 0;
      }
    }
    function getTargetType(value) {
      return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
    }
    function reactive(target) {
      if (isReadonly(target)) return target;
      return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
    }
    function shallowReactive(target) {
      return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
    }
    function readonly(target) {
      return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
    }
    function shallowReadonly(target) {
      return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
    }
    function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
      if (!isObject(target)) return target;
      if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) return target;
      const existingProxy = proxyMap.get(target);
      if (existingProxy) return existingProxy;
      const targetType = getTargetType(target);
      if (targetType === 0) return target;
      const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
      proxyMap.set(target, proxy);
      return proxy;
    }
    function isReactive(value) {
      if (isReadonly(value)) return isReactive(value["__v_raw"]);
      return !!(value && value["__v_isReactive"]);
    }
    function isReadonly(value) {
      return !!(value && value["__v_isReadonly"]);
    }
    function isShallow(value) {
      return !!(value && value["__v_isShallow"]);
    }
    function isProxy(value) {
      return value ? !!value["__v_raw"] : false;
    }
    function toRaw(observed) {
      const raw = observed && observed["__v_raw"];
      return raw ? toRaw(raw) : observed;
    }
    function markRaw(value) {
      if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) def(value, "__v_skip", true);
      return value;
    }
    function isRef(r) {
      return r ? r["__v_isRef"] === true : false;
    }
    function ref(value) {
      return createRef(value, false);
    }
    function shallowRef(value) {
      return createRef(value, true);
    }
    function createRef(rawValue, shallow) {
      if (isRef(rawValue)) return rawValue;
      return new RefImpl(rawValue, shallow);
    }
    function triggerRef(ref2) {
      if (ref2.dep) ref2.dep.trigger();
    }
    function unref(ref2) {
      return isRef(ref2) ? ref2.value : ref2;
    }
    function toValue(source) {
      return isFunction(source) ? source() : unref(source);
    }
    function proxyRefs(objectWithRefs) {
      return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
    }
    function customRef(factory) {
      return new CustomRefImpl(factory);
    }
    function toRefs(object) {
      const ret = isArray(object) ? new Array(object.length) : {};
      for (const key in object) ret[key] = propertyToRef(object, key);
      return ret;
    }
    function toRef(source, key, defaultValue) {
      if (isRef(source)) return source;else if (isFunction(source)) return new GetterRefImpl(source);else if (isObject(source) && arguments.length > 1) return propertyToRef(source, key, defaultValue);else return ref(source);
    }
    function propertyToRef(source, key, defaultValue) {
      const val = source[key];
      return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
    }
    function computed(getterOrOptions, debugOptions, isSSR = false) {
      let getter;
      let setter;
      if (isFunction(getterOrOptions)) getter = getterOrOptions;else {
        getter = getterOrOptions.get;
        setter = getterOrOptions.set;
      }
      return new ComputedRefImpl(getter, setter, isSSR);
    }
    function getCurrentWatcher() {
      return activeWatcher;
    }
    function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {
      if (owner) {
        let cleanups = cleanupMap.get(owner);
        if (!cleanups) cleanupMap.set(owner, cleanups = []);
        cleanups.push(cleanupFn);
      }
    }
    function watch$1(source, cb, options = EMPTY_OBJ) {
      const {
        immediate,
        deep,
        once,
        scheduler,
        augmentJob,
        call
      } = options;
      const reactiveGetter = source2 => {
        if (deep) return source2;
        if (isShallow(source2) || deep === false || deep === 0) return traverse(source2, 1);
        return traverse(source2);
      };
      let effect$1;
      let getter;
      let cleanup;
      let boundCleanup;
      let forceTrigger = false;
      let isMultiSource = false;
      if (isRef(source)) {
        getter = () => source.value;
        forceTrigger = isShallow(source);
      } else if (isReactive(source)) {
        getter = () => reactiveGetter(source);
        forceTrigger = true;
      } else if (isArray(source)) {
        isMultiSource = true;
        forceTrigger = source.some(s => isReactive(s) || isShallow(s));
        getter = () => source.map(s => {
          if (isRef(s)) return s.value;else if (isReactive(s)) return reactiveGetter(s);else if (isFunction(s)) return call ? call(s, 2) : s();
        });
      } else if (isFunction(source)) {
        if (cb) getter = call ? () => call(source, 2) : source;else getter = () => {
          if (cleanup) {
            pauseTracking();
            try {
              cleanup();
            } finally {
              resetTracking();
            }
          }
          const currentEffect = activeWatcher;
          activeWatcher = effect$1;
          try {
            return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);
          } finally {
            activeWatcher = currentEffect;
          }
        };
      } else getter = NOOP;
      if (cb && deep) {
        const baseGetter = getter;
        const depth = deep === true ? Infinity : deep;
        getter = () => traverse(baseGetter(), depth);
      }
      const scope = getCurrentScope();
      const watchHandle = () => {
        effect$1.stop();
        if (scope && scope.active) remove(scope.effects, effect$1);
      };
      if (once && cb) {
        const _cb = cb;
        cb = (...args) => {
          _cb(...args);
          watchHandle();
        };
      }
      let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
      const job = immediateFirstRun => {
        if (!(effect$1.flags & 1) || !effect$1.dirty && !immediateFirstRun) return;
        if (cb) {
          const newValue = effect$1.run();
          if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
            if (cleanup) cleanup();
            const currentWatcher = activeWatcher;
            activeWatcher = effect$1;
            try {
              const args = [newValue, oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, boundCleanup];
              call ? call(cb, 3, args) : cb(...args);
              oldValue = newValue;
            } finally {
              activeWatcher = currentWatcher;
            }
          }
        } else effect$1.run();
      };
      if (augmentJob) augmentJob(job);
      effect$1 = new ReactiveEffect(getter);
      effect$1.scheduler = scheduler ? () => scheduler(job, false) : job;
      boundCleanup = fn => onWatcherCleanup(fn, false, effect$1);
      cleanup = effect$1.onStop = () => {
        const cleanups = cleanupMap.get(effect$1);
        if (cleanups) {
          if (call) call(cleanups, 4);else for (const cleanup2 of cleanups) cleanup2();
          cleanupMap.delete(effect$1);
        }
      };
      if (cb) {
        if (immediate) job(true);else oldValue = effect$1.run();
      } else if (scheduler) scheduler(job.bind(null, true), true);else effect$1.run();
      watchHandle.pause = effect$1.pause.bind(effect$1);
      watchHandle.resume = effect$1.resume.bind(effect$1);
      watchHandle.stop = watchHandle;
      return watchHandle;
    }
    function traverse(value, depth = Infinity, seen) {
      if (depth <= 0 || !isObject(value) || value["__v_skip"]) return value;
      seen = seen || /* @__PURE__ */new Set();
      if (seen.has(value)) return value;
      seen.add(value);
      depth--;
      if (isRef(value)) traverse(value.value, depth, seen);else if (isArray(value)) for (let i = 0; i < value.length; i++) traverse(value[i], depth, seen);else if (isSet(value) || isMap(value)) value.forEach(v => {
        traverse(v, depth, seen);
      });else if (isPlainObject(value)) {
        for (const key in value) traverse(value[key], depth, seen);
        for (const key of Object.getOwnPropertySymbols(value)) if (Object.prototype.propertyIsEnumerable.call(value, key)) traverse(value[key], depth, seen);
      }
      return value;
    }
    //#endregion
    //#region ../../../node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
    function pushWarningContext(vnode) {
      stack.push(vnode);
    }
    function popWarningContext() {
      stack.pop();
    }
    function assertNumber(val, type) {}
    function callWithErrorHandling(fn, instance, type, args) {
      try {
        return args ? fn(...args) : fn();
      } catch (err) {
        handleError(err, instance, type);
      }
    }
    function callWithAsyncErrorHandling(fn, instance, type, args) {
      if (isFunction(fn)) {
        const res = callWithErrorHandling(fn, instance, type, args);
        if (res && isPromise(res)) res.catch(err => {
          handleError(err, instance, type);
        });
        return res;
      }
      if (isArray(fn)) {
        const values = [];
        for (let i = 0; i < fn.length; i++) values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
        return values;
      }
    }
    function handleError(err, instance, type, throwInDev = true) {
      const contextVNode = instance ? instance.vnode : null;
      const {
        errorHandler,
        throwUnhandledErrorInProduction
      } = instance && instance.appContext.config || EMPTY_OBJ;
      if (instance) {
        let cur = instance.parent;
        const exposedInstance = instance.proxy;
        const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`;
        while (cur) {
          const errorCapturedHooks = cur.ec;
          if (errorCapturedHooks) {
            for (let i = 0; i < errorCapturedHooks.length; i++) if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) return;
          }
          cur = cur.parent;
        }
        if (errorHandler) {
          pauseTracking();
          callWithErrorHandling(errorHandler, null, 10, [err, exposedInstance, errorInfo]);
          resetTracking();
          return;
        }
      }
      logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);
    }
    function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {
      if (throwInProd) throw err;else console.error(err);
    }
    function nextTick(fn) {
      const p$1 = currentFlushPromise || resolvedPromise;
      return fn ? p$1.then(this ? fn.bind(this) : fn) : p$1;
    }
    function findInsertionIndex(id) {
      let start = flushIndex + 1;
      let end = queue.length;
      while (start < end) {
        const middle = start + end >>> 1;
        const middleJob = queue[middle];
        const middleJobId = getId(middleJob);
        if (middleJobId < id || middleJobId === id && middleJob.flags & 2) start = middle + 1;else end = middle;
      }
      return start;
    }
    function queueJob(job) {
      if (!(job.flags & 1)) {
        const jobId = getId(job);
        const lastJob = queue[queue.length - 1];
        if (!lastJob || !(job.flags & 2) && jobId >= getId(lastJob)) queue.push(job);else queue.splice(findInsertionIndex(jobId), 0, job);
        job.flags |= 1;
        queueFlush();
      }
    }
    function queueFlush() {
      if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(flushJobs);
    }
    function queuePostFlushCb(cb) {
      if (!isArray(cb)) {
        if (activePostFlushCbs && cb.id === -1) activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);else if (!(cb.flags & 1)) {
          pendingPostFlushCbs.push(cb);
          cb.flags |= 1;
        }
      } else pendingPostFlushCbs.push(...cb);
      queueFlush();
    }
    function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
      for (; i < queue.length; i++) {
        const cb = queue[i];
        if (cb && cb.flags & 2) {
          if (instance && cb.id !== instance.uid) continue;
          queue.splice(i, 1);
          i--;
          if (cb.flags & 4) cb.flags &= -2;
          cb();
          if (!(cb.flags & 4)) cb.flags &= -2;
        }
      }
    }
    function flushPostFlushCbs(seen) {
      if (pendingPostFlushCbs.length) {
        const deduped = [...new Set(pendingPostFlushCbs)].sort((a, b) => getId(a) - getId(b));
        pendingPostFlushCbs.length = 0;
        if (activePostFlushCbs) {
          activePostFlushCbs.push(...deduped);
          return;
        }
        activePostFlushCbs = deduped;
        for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
          const cb = activePostFlushCbs[postFlushIndex];
          if (cb.flags & 4) cb.flags &= -2;
          if (!(cb.flags & 8)) cb();
          cb.flags &= -2;
        }
        activePostFlushCbs = null;
        postFlushIndex = 0;
      }
    }
    function flushJobs(seen) {
      try {
        for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
          const job = queue[flushIndex];
          if (job && !(job.flags & 8)) {
            if (job.flags & 4) job.flags &= -2;
            callWithErrorHandling(job, job.i, job.i ? 15 : 14);
            if (!(job.flags & 4)) job.flags &= -2;
          }
        }
      } finally {
        for (; flushIndex < queue.length; flushIndex++) {
          const job = queue[flushIndex];
          if (job) job.flags &= -2;
        }
        flushIndex = -1;
        queue.length = 0;
        flushPostFlushCbs(seen);
        currentFlushPromise = null;
        if (queue.length || pendingPostFlushCbs.length) flushJobs(seen);
      }
    }
    function setDevtoolsHook$1(hook, target) {
      var _a, _b;
      devtools$1 = hook;
      if (devtools$1) {
        devtools$1.enabled = true;
        buffer.forEach(({
          event,
          args
        }) => devtools$1.emit(event, ...args));
        buffer = [];
      } else if (typeof window !== "undefined" && window.HTMLElement && !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))) {
        (target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []).push(newHook => {
          setDevtoolsHook$1(newHook, target);
        });
        setTimeout(() => {
          if (!devtools$1) {
            target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
            buffer = [];
          }
        }, 3e3);
      } else buffer = [];
    }
    function setCurrentRenderingInstance(instance) {
      const prev = currentRenderingInstance;
      currentRenderingInstance = instance;
      currentScopeId = instance && instance.type.__scopeId || null;
      return prev;
    }
    function pushScopeId(id) {
      currentScopeId = id;
    }
    function popScopeId() {
      currentScopeId = null;
    }
    function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
      if (!ctx) return fn;
      if (fn._n) return fn;
      const renderFnWithContext = (...args) => {
        if (renderFnWithContext._d) setBlockTracking(-1);
        const prevInstance = setCurrentRenderingInstance(ctx);
        let res;
        try {
          res = fn(...args);
        } finally {
          setCurrentRenderingInstance(prevInstance);
          if (renderFnWithContext._d) setBlockTracking(1);
        }
        return res;
      };
      renderFnWithContext._n = true;
      renderFnWithContext._c = true;
      renderFnWithContext._d = true;
      return renderFnWithContext;
    }
    function withDirectives(vnode, directives) {
      if (currentRenderingInstance === null) return vnode;
      const instance = getComponentPublicInstance(currentRenderingInstance);
      const bindings = vnode.dirs || (vnode.dirs = []);
      for (let i = 0; i < directives.length; i++) {
        let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];
        if (dir) {
          if (isFunction(dir)) dir = {
            mounted: dir,
            updated: dir
          };
          if (dir.deep) traverse(value);
          bindings.push({
            dir,
            instance,
            value,
            oldValue: void 0,
            arg,
            modifiers
          });
        }
      }
      return vnode;
    }
    function invokeDirectiveHook(vnode, prevVNode, instance, name) {
      const bindings = vnode.dirs;
      const oldBindings = prevVNode && prevVNode.dirs;
      for (let i = 0; i < bindings.length; i++) {
        const binding = bindings[i];
        if (oldBindings) binding.oldValue = oldBindings[i].value;
        let hook = binding.dir[name];
        if (hook) {
          pauseTracking();
          callWithAsyncErrorHandling(hook, instance, 8, [vnode.el, binding, vnode, prevVNode]);
          resetTracking();
        }
      }
    }
    function moveTeleport(vnode, container, parentAnchor, {
      o: {
        insert
      },
      m: move
    }, moveType = 2) {
      if (moveType === 0) insert(vnode.targetAnchor, container, parentAnchor);
      const {
        el,
        anchor,
        shapeFlag,
        children,
        props
      } = vnode;
      const isReorder = moveType === 2;
      if (isReorder) insert(el, container, parentAnchor);
      if (!isReorder || isTeleportDisabled(props)) {
        if (shapeFlag & 16) for (let i = 0; i < children.length; i++) move(children[i], container, parentAnchor, 2);
      }
      if (isReorder) insert(anchor, container, parentAnchor);
    }
    function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
      o: {
        nextSibling,
        parentNode,
        querySelector,
        insert,
        createText
      }
    }, hydrateChildren) {
      const target = vnode.target = resolveTarget(vnode.props, querySelector);
      if (target) {
        const disabled = isTeleportDisabled(vnode.props);
        const targetNode = target._lpa || target.firstChild;
        if (vnode.shapeFlag & 16) if (disabled) {
          vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
          vnode.targetStart = targetNode;
          vnode.targetAnchor = targetNode && nextSibling(targetNode);
        } else {
          vnode.anchor = nextSibling(node);
          let targetAnchor = targetNode;
          while (targetAnchor) {
            if (targetAnchor && targetAnchor.nodeType === 8) {
              if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;else if (targetAnchor.data === "teleport anchor") {
                vnode.targetAnchor = targetAnchor;
                target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
                break;
              }
            }
            targetAnchor = nextSibling(targetAnchor);
          }
          if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
          hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
        }
        updateCssVars(vnode, disabled);
      }
      return vnode.anchor && nextSibling(vnode.anchor);
    }
    function updateCssVars(vnode, isDisabled) {
      const ctx = vnode.ctx;
      if (ctx && ctx.ut) {
        let node, anchor;
        if (isDisabled) {
          node = vnode.el;
          anchor = vnode.anchor;
        } else {
          node = vnode.targetStart;
          anchor = vnode.targetAnchor;
        }
        while (node && node !== anchor) {
          if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid);
          node = node.nextSibling;
        }
        ctx.ut();
      }
    }
    function prepareAnchor(target, vnode, createText, insert) {
      const targetStart = vnode.targetStart = createText("");
      const targetAnchor = vnode.targetAnchor = createText("");
      targetStart[TeleportEndKey] = targetAnchor;
      if (target) {
        insert(targetStart, target);
        insert(targetAnchor, target);
      }
      return targetAnchor;
    }
    function useTransitionState() {
      const state = {
        isMounted: false,
        isLeaving: false,
        isUnmounting: false,
        leavingVNodes: /* @__PURE__ */new Map()
      };
      onMounted(() => {
        state.isMounted = true;
      });
      onBeforeUnmount(() => {
        state.isUnmounting = true;
      });
      return state;
    }
    function findNonCommentChild(children) {
      let child = children[0];
      if (children.length > 1) {
        for (const c of children) if (c.type !== Comment) {
          child = c;
          break;
        }
      }
      return child;
    }
    function getLeavingNodesForType(state, vnode) {
      const {
        leavingVNodes
      } = state;
      let leavingVNodesCache = leavingVNodes.get(vnode.type);
      if (!leavingVNodesCache) {
        leavingVNodesCache = /* @__PURE__ */Object.create(null);
        leavingVNodes.set(vnode.type, leavingVNodesCache);
      }
      return leavingVNodesCache;
    }
    function resolveTransitionHooks(vnode, props, state, instance, postClone) {
      const {
        appear,
        mode,
        persisted = false,
        onBeforeEnter,
        onEnter,
        onAfterEnter,
        onEnterCancelled,
        onBeforeLeave,
        onLeave,
        onAfterLeave,
        onLeaveCancelled,
        onBeforeAppear,
        onAppear,
        onAfterAppear,
        onAppearCancelled
      } = props;
      const key = String(vnode.key);
      const leavingVNodesCache = getLeavingNodesForType(state, vnode);
      const callHook$2 = (hook, args) => {
        hook && callWithAsyncErrorHandling(hook, instance, 9, args);
      };
      const callAsyncHook = (hook, args) => {
        const done = args[1];
        callHook$2(hook, args);
        if (isArray(hook)) {
          if (hook.every(hook2 => hook2.length <= 1)) done();
        } else if (hook.length <= 1) done();
      };
      const hooks = {
        mode,
        persisted,
        beforeEnter(el) {
          let hook = onBeforeEnter;
          if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;else return;
          if (el[leaveCbKey]) el[leaveCbKey](true);
          const leavingVNode = leavingVNodesCache[key];
          if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) leavingVNode.el[leaveCbKey]();
          callHook$2(hook, [el]);
        },
        enter(el) {
          let hook = onEnter;
          let afterHook = onAfterEnter;
          let cancelHook = onEnterCancelled;
          if (!state.isMounted) if (appear) {
            hook = onAppear || onEnter;
            afterHook = onAfterAppear || onAfterEnter;
            cancelHook = onAppearCancelled || onEnterCancelled;
          } else return;
          let called = false;
          const done = el[enterCbKey$1] = cancelled => {
            if (called) return;
            called = true;
            if (cancelled) callHook$2(cancelHook, [el]);else callHook$2(afterHook, [el]);
            if (hooks.delayedLeave) hooks.delayedLeave();
            el[enterCbKey$1] = void 0;
          };
          if (hook) callAsyncHook(hook, [el, done]);else done();
        },
        leave(el, remove$1) {
          const key2 = String(vnode.key);
          if (el[enterCbKey$1]) el[enterCbKey$1](true);
          if (state.isUnmounting) return remove$1();
          callHook$2(onBeforeLeave, [el]);
          let called = false;
          const done = el[leaveCbKey] = cancelled => {
            if (called) return;
            called = true;
            remove$1();
            if (cancelled) callHook$2(onLeaveCancelled, [el]);else callHook$2(onAfterLeave, [el]);
            el[leaveCbKey] = void 0;
            if (leavingVNodesCache[key2] === vnode) delete leavingVNodesCache[key2];
          };
          leavingVNodesCache[key2] = vnode;
          if (onLeave) callAsyncHook(onLeave, [el, done]);else done();
        },
        clone(vnode2) {
          const hooks2 = resolveTransitionHooks(vnode2, props, state, instance, postClone);
          if (postClone) postClone(hooks2);
          return hooks2;
        }
      };
      return hooks;
    }
    function emptyPlaceholder(vnode) {
      if (isKeepAlive(vnode)) {
        vnode = cloneVNode(vnode);
        vnode.children = null;
        return vnode;
      }
    }
    function getInnerChild$1(vnode) {
      if (!isKeepAlive(vnode)) {
        if (isTeleport(vnode.type) && vnode.children) return findNonCommentChild(vnode.children);
        return vnode;
      }
      const {
        shapeFlag,
        children
      } = vnode;
      if (children) {
        if (shapeFlag & 16) return children[0];
        if (shapeFlag & 32 && isFunction(children.default)) return children.default();
      }
    }
    function setTransitionHooks(vnode, hooks) {
      if (vnode.shapeFlag & 6 && vnode.component) {
        vnode.transition = hooks;
        setTransitionHooks(vnode.component.subTree, hooks);
      } else if (vnode.shapeFlag & 128) {
        vnode.ssContent.transition = hooks.clone(vnode.ssContent);
        vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
      } else vnode.transition = hooks;
    }
    function getTransitionRawChildren(children, keepComment = false, parentKey) {
      let ret = [];
      let keyedFragmentCount = 0;
      for (let i = 0; i < children.length; i++) {
        let child = children[i];
        const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);
        if (child.type === Fragment) {
          if (child.patchFlag & 128) keyedFragmentCount++;
          ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));
        } else if (keepComment || child.type !== Comment) ret.push(key != null ? cloneVNode(child, {
          key
        }) : child);
      }
      if (keyedFragmentCount > 1) for (let i = 0; i < ret.length; i++) ret[i].patchFlag = -2;
      return ret;
    }
    /*! #__NO_SIDE_EFFECTS__ */
    /* @__NO_SIDE_EFFECTS__ */
    function defineComponent(options, extraOptions) {
      return isFunction(options) ? /* @__PURE__ */(() => extend({
        name: options.name
      }, extraOptions, {
        setup: options
      }))() : options;
    }
    function useId() {
      const i = getCurrentInstance();
      if (i) return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++;
      return "";
    }
    function markAsyncBoundary(instance) {
      instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
    }
    function useTemplateRef(key) {
      const i = getCurrentInstance();
      const r = shallowRef(null);
      if (i) {
        const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
        Object.defineProperty(refs, key, {
          enumerable: true,
          get: () => r.value,
          set: val => r.value = val
        });
      }
      return r;
    }
    function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
      if (isArray(rawRef)) {
        rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));
        return;
      }
      if (isAsyncWrapper(vnode) && !isUnmount) {
        if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
        return;
      }
      const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
      const value = isUnmount ? null : refValue;
      const {
        i: owner,
        r: ref$1
      } = rawRef;
      const oldRef = oldRawRef && oldRawRef.r;
      const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
      const setupState = owner.setupState;
      const rawSetupState = toRaw(setupState);
      const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : key => {
        return hasOwn(rawSetupState, key);
      };
      if (oldRef != null && oldRef !== ref$1) {
        if (isString(oldRef)) {
          refs[oldRef] = null;
          if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
        } else if (isRef(oldRef)) oldRef.value = null;
      }
      if (isFunction(ref$1)) callWithErrorHandling(ref$1, owner, 12, [value, refs]);else {
        const _isString = isString(ref$1);
        const _isRef = isRef(ref$1);
        if (_isString || _isRef) {
          const doSet = () => {
            if (rawRef.f) {
              const existing = _isString ? canSetSetupRef(ref$1) ? setupState[ref$1] : refs[ref$1] : ref$1.value;
              if (isUnmount) isArray(existing) && remove(existing, refValue);else if (!isArray(existing)) {
                if (_isString) {
                  refs[ref$1] = [refValue];
                  if (canSetSetupRef(ref$1)) setupState[ref$1] = refs[ref$1];
                } else {
                  ref$1.value = [refValue];
                  if (rawRef.k) refs[rawRef.k] = ref$1.value;
                }
              } else if (!existing.includes(refValue)) existing.push(refValue);
            } else if (_isString) {
              refs[ref$1] = value;
              if (canSetSetupRef(ref$1)) setupState[ref$1] = value;
            } else if (_isRef) {
              ref$1.value = value;
              if (rawRef.k) refs[rawRef.k] = value;
            }
          };
          if (value) {
            doSet.id = -1;
            queuePostRenderEffect(doSet, parentSuspense);
          } else doSet();
        }
      }
    }
    function createHydrationFunctions(rendererInternals) {
      const {
        mt: mountComponent,
        p: patch,
        o: {
          patchProp: patchProp$1,
          createText,
          nextSibling,
          parentNode,
          remove: remove$1,
          insert,
          createComment
        }
      } = rendererInternals;
      const hydrate$1 = (vnode, container) => {
        if (!container.hasChildNodes()) {
          patch(null, vnode, container);
          flushPostFlushCbs();
          container._vnode = vnode;
          return;
        }
        hydrateNode(container.firstChild, vnode, null, null, null);
        flushPostFlushCbs();
        container._vnode = vnode;
      };
      const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
        optimized = optimized || !!vnode.dynamicChildren;
        const isFragmentStart = isComment(node) && node.data === "[";
        const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
        const {
          type,
          ref: ref$1,
          shapeFlag,
          patchFlag
        } = vnode;
        let domType = node.nodeType;
        vnode.el = node;
        if (patchFlag === -2) {
          optimized = false;
          vnode.dynamicChildren = null;
        }
        let nextNode = null;
        switch (type) {
          case Text:
            if (domType !== 3) {
              if (vnode.children === "") {
                insert(vnode.el = createText(""), parentNode(node), node);
                nextNode = node;
              } else nextNode = onMismatch();
            } else {
              if (node.data !== vnode.children) {
                logMismatchError();
                node.data = vnode.children;
              }
              nextNode = nextSibling(node);
            }
            break;
          case Comment:
            if (isTemplateNode(node)) {
              nextNode = nextSibling(node);
              replaceNode(vnode.el = node.content.firstChild, node, parentComponent);
            } else if (domType !== 8 || isFragmentStart) nextNode = onMismatch();else nextNode = nextSibling(node);
            break;
          case Static:
            if (isFragmentStart) {
              node = nextSibling(node);
              domType = node.nodeType;
            }
            if (domType === 1 || domType === 3) {
              nextNode = node;
              const needToAdoptContent = !vnode.children.length;
              for (let i = 0; i < vnode.staticCount; i++) {
                if (needToAdoptContent) vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;
                if (i === vnode.staticCount - 1) vnode.anchor = nextNode;
                nextNode = nextSibling(nextNode);
              }
              return isFragmentStart ? nextSibling(nextNode) : nextNode;
            } else onMismatch();
            break;
          case Fragment:
            if (!isFragmentStart) nextNode = onMismatch();else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
            break;
          default:
            if (shapeFlag & 1) {
              if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch();else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
            } else if (shapeFlag & 6) {
              vnode.slotScopeIds = slotScopeIds;
              const container = parentNode(node);
              if (isFragmentStart) nextNode = locateClosingAnchor(node);else if (isComment(node) && node.data === "teleport start") nextNode = locateClosingAnchor(node, node.data, "teleport end");else nextNode = nextSibling(node);
              mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
              if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
                let subTree;
                if (isFragmentStart) {
                  subTree = createVNode(Fragment);
                  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
                } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
                subTree.el = node;
                vnode.component.subTree = subTree;
              }
            } else if (shapeFlag & 64) {
              if (domType !== 8) nextNode = onMismatch();else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
            } else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
        }
        if (ref$1 != null) setRef(ref$1, null, parentSuspense, vnode);
        return nextNode;
      };
      const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
        optimized = optimized || !!vnode.dynamicChildren;
        const {
          type,
          props,
          patchFlag,
          shapeFlag,
          dirs,
          transition
        } = vnode;
        const forcePatch = type === "input" || type === "option";
        if (forcePatch || patchFlag !== -1) {
          if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "created");
          let needCallTransitionHooks = false;
          if (isTemplateNode(el)) {
            needCallTransitionHooks = needTransition(null, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;
            const content = el.content.firstChild;
            if (needCallTransitionHooks) transition.beforeEnter(content);
            replaceNode(content, el, parentComponent);
            vnode.el = el = content;
          }
          if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) {
            let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
            while (next) {
              if (!isMismatchAllowed(el, 1)) logMismatchError();
              const cur = next;
              next = next.nextSibling;
              remove$1(cur);
            }
          } else if (shapeFlag & 8) {
            let clientText = vnode.children;
            if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) clientText = clientText.slice(1);
            if (el.textContent !== clientText) {
              if (!isMismatchAllowed(el, 0)) logMismatchError();
              el.textContent = vnode.children;
            }
          }
          if (props) {
            if (forcePatch || !optimized || patchFlag & 48) {
              const isCustomElement = el.tagName.includes("-");
              for (const key in props) if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement) patchProp$1(el, key, null, props[key], void 0, parentComponent);
            } else if (props.onClick) patchProp$1(el, "onClick", null, props.onClick, void 0, parentComponent);else if (patchFlag & 4 && isReactive(props.style)) for (const key in props.style) props.style[key];
          }
          let vnodeHooks;
          if (vnodeHooks = props && props.onVnodeBeforeMount) invokeVNodeHook(vnodeHooks, parentComponent, vnode);
          if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
          if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) queueEffectWithSuspense(() => {
            vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
            needCallTransitionHooks && transition.enter(el);
            dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
          }, parentSuspense);
        }
        return el.nextSibling;
      };
      const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {
        optimized = optimized || !!parentVNode.dynamicChildren;
        const children = parentVNode.children;
        const l = children.length;
        for (let i = 0; i < l; i++) {
          const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
          const isText = vnode.type === Text;
          if (node) {
            if (isText && !optimized) {
              if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {
                insert(createText(node.data.slice(vnode.children.length)), container, nextSibling(node));
                node.data = vnode.children;
              }
            }
            node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
          } else if (isText && !vnode.children) insert(vnode.el = createText(""), container);else {
            if (!isMismatchAllowed(container, 1)) logMismatchError();
            patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
          }
        }
        return node;
      };
      const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
        const {
          slotScopeIds: fragmentSlotScopeIds
        } = vnode;
        if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
        const container = parentNode(node);
        const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
        if (next && isComment(next) && next.data === "]") return nextSibling(vnode.anchor = next);else {
          logMismatchError();
          insert(vnode.anchor = createComment(`]`), container, next);
          return next;
        }
      };
      const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
        if (!isMismatchAllowed(node.parentElement, 1)) logMismatchError();
        vnode.el = null;
        if (isFragment) {
          const end = locateClosingAnchor(node);
          while (true) {
            const next2 = nextSibling(node);
            if (next2 && next2 !== end) remove$1(next2);else break;
          }
        }
        const next = nextSibling(node);
        const container = parentNode(node);
        remove$1(node);
        patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
        if (parentComponent) {
          parentComponent.vnode.el = vnode.el;
          updateHOCHostEl(parentComponent, vnode.el);
        }
        return next;
      };
      const locateClosingAnchor = (node, open = "[", close = "]") => {
        let match = 0;
        while (node) {
          node = nextSibling(node);
          if (node && isComment(node)) {
            if (node.data === open) match++;
            if (node.data === close) if (match === 0) return nextSibling(node);else match--;
          }
        }
        return node;
      };
      const replaceNode = (newNode, oldNode, parentComponent) => {
        const parentNode2 = oldNode.parentNode;
        if (parentNode2) parentNode2.replaceChild(newNode, oldNode);
        let parent = parentComponent;
        while (parent) {
          if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
          parent = parent.parent;
        }
      };
      const isTemplateNode = node => {
        return node.nodeType === 1 && node.tagName === "TEMPLATE";
      };
      return [hydrate$1, hydrateNode];
    }
    function isMismatchAllowed(el, allowedType) {
      if (allowedType === 0 || allowedType === 1) while (el && !el.hasAttribute(allowMismatchAttr)) el = el.parentElement;
      const allowedAttr = el && el.getAttribute(allowMismatchAttr);
      if (allowedAttr == null) return false;else if (allowedAttr === "") return true;else {
        const list = allowedAttr.split(",");
        if (allowedType === 0 && list.includes("children")) return true;
        return allowedAttr.split(",").includes(MismatchTypeString[allowedType]);
      }
    }
    function elementIsVisibleInViewport(el) {
      const {
        top,
        left,
        bottom,
        right
      } = el.getBoundingClientRect();
      const {
        innerHeight,
        innerWidth
      } = window;
      return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);
    }
    function forEachElement(node, cb) {
      if (isComment(node) && node.data === "[") {
        let depth = 1;
        let next = node.nextSibling;
        while (next) {
          if (next.nodeType === 1) {
            if (cb(next) === false) break;
          } else if (isComment(next)) {
            if (next.data === "]") {
              if (--depth === 0) break;
            } else if (next.data === "[") depth++;
          }
          next = next.nextSibling;
        }
      } else cb(node);
    }
    /*! #__NO_SIDE_EFFECTS__ */
    /* @__NO_SIDE_EFFECTS__ */
    function defineAsyncComponent(source) {
      if (isFunction(source)) source = {
        loader: source
      };
      const {
        loader,
        loadingComponent,
        errorComponent,
        delay = 200,
        hydrate: hydrateStrategy,
        timeout,
        suspensible = true,
        onError: userOnError
      } = source;
      let pendingRequest = null;
      let resolvedComp;
      let retries = 0;
      const retry = () => {
        retries++;
        pendingRequest = null;
        return load();
      };
      const load = () => {
        let thisRequest;
        return pendingRequest || (thisRequest = pendingRequest = loader().catch(err => {
          err = err instanceof Error ? err : new Error(String(err));
          if (userOnError) return new Promise((resolve$1, reject) => {
            const userRetry = () => resolve$1(retry());
            const userFail = () => reject(err);
            userOnError(err, userRetry, userFail, retries + 1);
          });else throw err;
        }).then(comp => {
          if (thisRequest !== pendingRequest && pendingRequest) return pendingRequest;
          if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) comp = comp.default;
          resolvedComp = comp;
          return comp;
        }));
      };
      return /* @__PURE__ */defineComponent({
        name: "AsyncComponentWrapper",
        __asyncLoader: load,
        __asyncHydrate(el, instance, hydrate$1) {
          const doHydrate = hydrateStrategy ? () => {
            const teardown = hydrateStrategy(hydrate$1, cb => forEachElement(el, cb));
            if (teardown) (instance.bum || (instance.bum = [])).push(teardown);
          } : hydrate$1;
          if (resolvedComp) doHydrate();else load().then(() => !instance.isUnmounted && doHydrate());
        },
        get __asyncResolved() {
          return resolvedComp;
        },
        setup() {
          const instance = currentInstance;
          markAsyncBoundary(instance);
          if (resolvedComp) return () => createInnerComp(resolvedComp, instance);
          const onError = err => {
            pendingRequest = null;
            handleError(err, instance, 13, !errorComponent);
          };
          if (suspensible && instance.suspense || isInSSRComponentSetup) return load().then(comp => {
            return () => createInnerComp(comp, instance);
          }).catch(err => {
            onError(err);
            return () => errorComponent ? createVNode(errorComponent, {
              error: err
            }) : null;
          });
          const loaded = ref(false);
          const error = ref();
          const delayed = ref(!!delay);
          if (delay) setTimeout(() => {
            delayed.value = false;
          }, delay);
          if (timeout != null) setTimeout(() => {
            if (!loaded.value && !error.value) {
              const err = /* @__PURE__ */new Error(`Async component timed out after ${timeout}ms.`);
              onError(err);
              error.value = err;
            }
          }, timeout);
          load().then(() => {
            loaded.value = true;
            if (instance.parent && isKeepAlive(instance.parent.vnode)) instance.parent.update();
          }).catch(err => {
            onError(err);
            error.value = err;
          });
          return () => {
            if (loaded.value && resolvedComp) return createInnerComp(resolvedComp, instance);else if (error.value && errorComponent) return createVNode(errorComponent, {
              error: error.value
            });else if (loadingComponent && !delayed.value) return createVNode(loadingComponent);
          };
        }
      });
    }
    function createInnerComp(comp, parent) {
      const {
        ref: ref2,
        props,
        children,
        ce
      } = parent.vnode;
      const vnode = createVNode(comp, props, children);
      vnode.ref = ref2;
      vnode.ce = ce;
      delete parent.vnode.ce;
      return vnode;
    }
    function matches(pattern, name) {
      if (isArray(pattern)) return pattern.some(p$1 => matches(p$1, name));else if (isString(pattern)) return pattern.split(",").includes(name);else if (isRegExp(pattern)) {
        pattern.lastIndex = 0;
        return pattern.test(name);
      }
      return false;
    }
    function onActivated(hook, target) {
      registerKeepAliveHook(hook, "a", target);
    }
    function onDeactivated(hook, target) {
      registerKeepAliveHook(hook, "da", target);
    }
    function registerKeepAliveHook(hook, type, target = currentInstance) {
      const wrappedHook = hook.__wdc || (hook.__wdc = () => {
        let current = target;
        while (current) {
          if (current.isDeactivated) return;
          current = current.parent;
        }
        return hook();
      });
      injectHook(type, wrappedHook, target);
      if (target) {
        let current = target.parent;
        while (current && current.parent) {
          if (isKeepAlive(current.parent.vnode)) injectToKeepAliveRoot(wrappedHook, type, target, current);
          current = current.parent;
        }
      }
    }
    function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
      const injected = injectHook(type, hook, keepAliveRoot, true);
      onUnmounted(() => {
        remove(keepAliveRoot[type], injected);
      }, target);
    }
    function resetShapeFlag(vnode) {
      vnode.shapeFlag &= -257;
      vnode.shapeFlag &= -513;
    }
    function getInnerChild(vnode) {
      return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
    }
    function injectHook(type, hook, target = currentInstance, prepend = false) {
      if (target) {
        const hooks = target[type] || (target[type] = []);
        const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
          pauseTracking();
          const reset = setCurrentInstance(target);
          const res = callWithAsyncErrorHandling(hook, target, type, args);
          reset();
          resetTracking();
          return res;
        });
        if (prepend) hooks.unshift(wrappedHook);else hooks.push(wrappedHook);
        return wrappedHook;
      }
    }
    function onErrorCaptured(hook, target = currentInstance) {
      injectHook("ec", hook, target);
    }
    function resolveComponent(name, maybeSelfReference) {
      return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
    }
    function resolveDynamicComponent(component) {
      if (isString(component)) return resolveAsset(COMPONENTS, component, false) || component;else return component || NULL_DYNAMIC_COMPONENT;
    }
    function resolveDirective(name) {
      return resolveAsset(DIRECTIVES, name);
    }
    function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
      const instance = currentRenderingInstance || currentInstance;
      if (instance) {
        const Component = instance.type;
        if (type === COMPONENTS) {
          const selfName = getComponentName(Component, false);
          if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) return Component;
        }
        const res = resolve(instance[type] || Component[type], name) || resolve(instance.appContext[type], name);
        if (!res && maybeSelfReference) return Component;
        return res;
      }
    }
    function resolve(registry, name) {
      return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
    }
    function renderList(source, renderItem, cache, index) {
      let ret;
      const cached = cache && cache[index];
      const sourceIsArray = isArray(source);
      if (sourceIsArray || isString(source)) {
        const sourceIsReactiveArray = sourceIsArray && isReactive(source);
        let needsWrap = false;
        if (sourceIsReactiveArray) {
          needsWrap = !isShallow(source);
          source = shallowReadArray(source);
        }
        ret = new Array(source.length);
        for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? toReactive(source[i]) : source[i], i, void 0, cached && cached[i]);
      } else if (typeof source === "number") {
        ret = new Array(source);
        for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
      } else if (isObject(source)) {
        if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));else {
          const keys = Object.keys(source);
          ret = new Array(keys.length);
          for (let i = 0, l = keys.length; i < l; i++) {
            const key = keys[i];
            ret[i] = renderItem(source[key], key, i, cached && cached[i]);
          }
        }
      } else ret = [];
      if (cache) cache[index] = ret;
      return ret;
    }
    function createSlots(slots, dynamicSlots) {
      for (let i = 0; i < dynamicSlots.length; i++) {
        const slot = dynamicSlots[i];
        if (isArray(slot)) for (let j = 0; j < slot.length; j++) slots[slot[j].name] = slot[j].fn;else if (slot) slots[slot.name] = slot.key ? (...args) => {
          const res = slot.fn(...args);
          if (res) res.key = slot.key;
          return res;
        } : slot.fn;
      }
      return slots;
    }
    function renderSlot(slots, name, props = {}, fallback, noSlotted) {
      if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
        if (name !== "default") props.name = name;
        return openBlock(), createBlock(Fragment, null, [createVNode("slot", props, fallback && fallback())], 64);
      }
      let slot = slots[name];
      if (slot && slot._c) slot._d = false;
      openBlock();
      const validSlotContent = slot && ensureValidVNode(slot(props));
      const slotKey = props.key || validSlotContent && validSlotContent.key;
      const rendered = createBlock(Fragment, {
        key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + (!validSlotContent && fallback ? "_fb" : "")
      }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2);
      if (!noSlotted && rendered.scopeId) rendered.slotScopeIds = [rendered.scopeId + "-s"];
      if (slot && slot._c) slot._d = true;
      return rendered;
    }
    function ensureValidVNode(vnodes) {
      return vnodes.some(child => {
        if (!isVNode(child)) return true;
        if (child.type === Comment) return false;
        if (child.type === Fragment && !ensureValidVNode(child.children)) return false;
        return true;
      }) ? vnodes : null;
    }
    function toHandlers(obj, preserveCaseIfNecessary) {
      const ret = {};
      for (const key in obj) ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
      return ret;
    }
    function defineProps() {
      return null;
    }
    function defineEmits() {
      return null;
    }
    function defineExpose(exposed) {}
    function defineOptions(options) {}
    function defineSlots() {
      return null;
    }
    function defineModel() {}
    function withDefaults(props, defaults) {
      return null;
    }
    function useSlots() {
      return getContext().slots;
    }
    function useAttrs() {
      return getContext().attrs;
    }
    function getContext() {
      const i = getCurrentInstance();
      return i.setupContext || (i.setupContext = createSetupContext(i));
    }
    function normalizePropsOrEmits(props) {
      return isArray(props) ? props.reduce((normalized, p$1) => (normalized[p$1] = null, normalized), {}) : props;
    }
    function mergeDefaults(raw, defaults) {
      const props = normalizePropsOrEmits(raw);
      for (const key in defaults) {
        if (key.startsWith("__skip")) continue;
        let opt = props[key];
        if (opt) {
          if (isArray(opt) || isFunction(opt)) opt = props[key] = {
            type: opt,
            default: defaults[key]
          };else opt.default = defaults[key];
        } else if (opt === null) opt = props[key] = {
          default: defaults[key]
        };
        if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
      }
      return props;
    }
    function mergeModels(a, b) {
      if (!a || !b) return a || b;
      if (isArray(a) && isArray(b)) return a.concat(b);
      return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));
    }
    function createPropsRestProxy(props, excludedKeys) {
      const ret = {};
      for (const key in props) if (!excludedKeys.includes(key)) Object.defineProperty(ret, key, {
        enumerable: true,
        get: () => props[key]
      });
      return ret;
    }
    function withAsyncContext(getAwaitable) {
      const ctx = getCurrentInstance();
      let awaitable = getAwaitable();
      unsetCurrentInstance();
      if (isPromise(awaitable)) awaitable = awaitable.catch(e => {
        setCurrentInstance(ctx);
        throw e;
      });
      return [awaitable, () => setCurrentInstance(ctx)];
    }
    function applyOptions(instance) {
      const options = resolveMergedOptions(instance);
      const publicThis = instance.proxy;
      const ctx = instance.ctx;
      shouldCacheAccess = false;
      if (options.beforeCreate) callHook$1(options.beforeCreate, instance, "bc");
      const {
        data: dataOptions,
        computed: computedOptions,
        methods,
        watch: watchOptions,
        provide: provideOptions,
        inject: injectOptions,
        created,
        beforeMount,
        mounted,
        beforeUpdate,
        updated,
        activated,
        deactivated,
        beforeDestroy,
        beforeUnmount,
        destroyed,
        unmounted,
        render: render$1,
        renderTracked,
        renderTriggered,
        errorCaptured,
        serverPrefetch,
        expose,
        inheritAttrs,
        components,
        directives,
        filters
      } = options;
      const checkDuplicateProperties = null;
      if (injectOptions) resolveInjections(injectOptions, ctx, checkDuplicateProperties);
      if (methods) for (const key in methods) {
        const methodHandler = methods[key];
        if (isFunction(methodHandler)) ctx[key] = methodHandler.bind(publicThis);
      }
      if (dataOptions) {
        const data = dataOptions.call(publicThis, publicThis);
        if (!isObject(data)) {} else instance.data = reactive(data);
      }
      shouldCacheAccess = true;
      if (computedOptions) for (const key in computedOptions) {
        const opt = computedOptions[key];
        const c = computed$1({
          get: isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP,
          set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP
        });
        Object.defineProperty(ctx, key, {
          enumerable: true,
          configurable: true,
          get: () => c.value,
          set: v => c.value = v
        });
      }
      if (watchOptions) for (const key in watchOptions) createWatcher(watchOptions[key], ctx, publicThis, key);
      if (provideOptions) {
        const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
        Reflect.ownKeys(provides).forEach(key => {
          provide(key, provides[key]);
        });
      }
      if (created) callHook$1(created, instance, "c");
      function registerLifecycleHook(register, hook) {
        if (isArray(hook)) hook.forEach(_hook => register(_hook.bind(publicThis)));else if (hook) register(hook.bind(publicThis));
      }
      registerLifecycleHook(onBeforeMount, beforeMount);
      registerLifecycleHook(onMounted, mounted);
      registerLifecycleHook(onBeforeUpdate, beforeUpdate);
      registerLifecycleHook(onUpdated, updated);
      registerLifecycleHook(onActivated, activated);
      registerLifecycleHook(onDeactivated, deactivated);
      registerLifecycleHook(onErrorCaptured, errorCaptured);
      registerLifecycleHook(onRenderTracked, renderTracked);
      registerLifecycleHook(onRenderTriggered, renderTriggered);
      registerLifecycleHook(onBeforeUnmount, beforeUnmount);
      registerLifecycleHook(onUnmounted, unmounted);
      registerLifecycleHook(onServerPrefetch, serverPrefetch);
      if (isArray(expose)) {
        if (expose.length) {
          const exposed = instance.exposed || (instance.exposed = {});
          expose.forEach(key => {
            Object.defineProperty(exposed, key, {
              get: () => publicThis[key],
              set: val => publicThis[key] = val
            });
          });
        } else if (!instance.exposed) instance.exposed = {};
      }
      if (render$1 && instance.render === NOOP) instance.render = render$1;
      if (inheritAttrs != null) instance.inheritAttrs = inheritAttrs;
      if (components) instance.components = components;
      if (directives) instance.directives = directives;
      if (serverPrefetch) markAsyncBoundary(instance);
    }
    function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {
      if (isArray(injectOptions)) injectOptions = normalizeInject(injectOptions);
      for (const key in injectOptions) {
        const opt = injectOptions[key];
        let injected;
        if (isObject(opt)) {
          if ("default" in opt) injected = inject(opt.from || key, opt.default, true);else injected = inject(opt.from || key);
        } else injected = inject(opt);
        if (isRef(injected)) Object.defineProperty(ctx, key, {
          enumerable: true,
          configurable: true,
          get: () => injected.value,
          set: v => injected.value = v
        });else ctx[key] = injected;
      }
    }
    function callHook$1(hook, instance, type) {
      callWithAsyncErrorHandling(isArray(hook) ? hook.map(h$1 => h$1.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type);
    }
    function createWatcher(raw, ctx, publicThis, key) {
      let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
      if (isString(raw)) {
        const handler = ctx[raw];
        if (isFunction(handler)) watch(getter, handler);
      } else if (isFunction(raw)) watch(getter, raw.bind(publicThis));else if (isObject(raw)) if (isArray(raw)) raw.forEach(r => createWatcher(r, ctx, publicThis, key));else {
        const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
        if (isFunction(handler)) watch(getter, handler, raw);
      }
    }
    function resolveMergedOptions(instance) {
      const base = instance.type;
      const {
        mixins,
        extends: extendsOptions
      } = base;
      const {
        mixins: globalMixins,
        optionsCache: cache,
        config: {
          optionMergeStrategies
        }
      } = instance.appContext;
      const cached = cache.get(base);
      let resolved;
      if (cached) resolved = cached;else if (!globalMixins.length && !mixins && !extendsOptions) resolved = base;else {
        resolved = {};
        if (globalMixins.length) globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));
        mergeOptions(resolved, base, optionMergeStrategies);
      }
      if (isObject(base)) cache.set(base, resolved);
      return resolved;
    }
    function mergeOptions(to, from, strats, asMixin = false) {
      const {
        mixins,
        extends: extendsOptions
      } = from;
      if (extendsOptions) mergeOptions(to, extendsOptions, strats, true);
      if (mixins) mixins.forEach(m => mergeOptions(to, m, strats, true));
      for (const key in from) if (asMixin && key === "expose") {} else {
        const strat = internalOptionMergeStrats[key] || strats && strats[key];
        to[key] = strat ? strat(to[key], from[key]) : from[key];
      }
      return to;
    }
    function mergeDataFn(to, from) {
      if (!from) return to;
      if (!to) return from;
      return function mergedDataFn() {
        return extend(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);
      };
    }
    function mergeInject(to, from) {
      return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
    }
    function normalizeInject(raw) {
      if (isArray(raw)) {
        const res = {};
        for (let i = 0; i < raw.length; i++) res[raw[i]] = raw[i];
        return res;
      }
      return raw;
    }
    function mergeAsArray(to, from) {
      return to ? [...new Set([].concat(to, from))] : from;
    }
    function mergeObjectOptions(to, from) {
      return to ? extend(/* @__PURE__ */Object.create(null), to, from) : from;
    }
    function mergeEmitsOrPropsOptions(to, from) {
      if (to) {
        if (isArray(to) && isArray(from)) return [... /* @__PURE__ */new Set([...to, ...from])];
        return extend(/* @__PURE__ */Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from != null ? from : {}));
      } else return from;
    }
    function mergeWatchOptions(to, from) {
      if (!to) return from;
      if (!from) return to;
      const merged = extend(/* @__PURE__ */Object.create(null), to);
      for (const key in from) merged[key] = mergeAsArray(to[key], from[key]);
      return merged;
    }
    function createAppContext() {
      return {
        app: null,
        config: {
          isNativeTag: NO,
          performance: false,
          globalProperties: {},
          optionMergeStrategies: {},
          errorHandler: void 0,
          warnHandler: void 0,
          compilerOptions: {}
        },
        mixins: [],
        components: {},
        directives: {},
        provides: /* @__PURE__ */Object.create(null),
        optionsCache: /* @__PURE__ */new WeakMap(),
        propsCache: /* @__PURE__ */new WeakMap(),
        emitsCache: /* @__PURE__ */new WeakMap()
      };
    }
    function createAppAPI(render$1, hydrate$1) {
      return function createApp$1(rootComponent, rootProps = null) {
        if (!isFunction(rootComponent)) rootComponent = extend({}, rootComponent);
        if (rootProps != null && !isObject(rootProps)) rootProps = null;
        const context = createAppContext();
        const installedPlugins = /* @__PURE__ */new WeakSet();
        const pluginCleanupFns = [];
        let isMounted = false;
        const app = context.app = {
          _uid: uid$1++,
          _component: rootComponent,
          _props: rootProps,
          _container: null,
          _context: context,
          _instance: null,
          version,
          get config() {
            return context.config;
          },
          set config(v) {},
          use(plugin, ...options) {
            if (installedPlugins.has(plugin)) {} else if (plugin && isFunction(plugin.install)) {
              installedPlugins.add(plugin);
              plugin.install(app, ...options);
            } else if (isFunction(plugin)) {
              installedPlugins.add(plugin);
              plugin(app, ...options);
            }
            return app;
          },
          mixin(mixin) {
            if (!context.mixins.includes(mixin)) context.mixins.push(mixin);
            return app;
          },
          component(name, component) {
            if (!component) return context.components[name];
            context.components[name] = component;
            return app;
          },
          directive(name, directive) {
            if (!directive) return context.directives[name];
            context.directives[name] = directive;
            return app;
          },
          mount(rootContainer, isHydrate, namespace) {
            if (!isMounted) {
              const vnode = app._ceVNode || createVNode(rootComponent, rootProps);
              vnode.appContext = context;
              if (namespace === true) namespace = "svg";else if (namespace === false) namespace = void 0;
              if (isHydrate && hydrate$1) hydrate$1(vnode, rootContainer);else render$1(vnode, rootContainer, namespace);
              isMounted = true;
              app._container = rootContainer;
              rootContainer.__vue_app__ = app;
              return getComponentPublicInstance(vnode.component);
            }
          },
          onUnmount(cleanupFn) {
            pluginCleanupFns.push(cleanupFn);
          },
          unmount() {
            if (isMounted) {
              callWithAsyncErrorHandling(pluginCleanupFns, app._instance, 16);
              render$1(null, app._container);
              delete app._container.__vue_app__;
            }
          },
          provide(key, value) {
            context.provides[key] = value;
            return app;
          },
          runWithContext(fn) {
            const lastApp = currentApp;
            currentApp = app;
            try {
              return fn();
            } finally {
              currentApp = lastApp;
            }
          }
        };
        return app;
      };
    }
    function provide(key, value) {
      if (!currentInstance) {} else {
        let provides = currentInstance.provides;
        const parentProvides = currentInstance.parent && currentInstance.parent.provides;
        if (parentProvides === provides) provides = currentInstance.provides = Object.create(parentProvides);
        provides[key] = value;
      }
    }
    function inject(key, defaultValue, treatDefaultAsFactory = false) {
      const instance = currentInstance || currentRenderingInstance;
      if (instance || currentApp) {
        const provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;
        if (provides && key in provides) return provides[key];else if (arguments.length > 1) return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
      }
    }
    function hasInjectionContext() {
      return !!(currentInstance || currentRenderingInstance || currentApp);
    }
    function initProps(instance, rawProps, isStateful, isSSR = false) {
      const props = {};
      const attrs = createInternalObject();
      instance.propsDefaults = /* @__PURE__ */Object.create(null);
      setFullProps(instance, rawProps, props, attrs);
      for (const key in instance.propsOptions[0]) if (!(key in props)) props[key] = void 0;
      if (isStateful) instance.props = isSSR ? props : shallowReactive(props);else if (!instance.type.props) instance.props = attrs;else instance.props = props;
      instance.attrs = attrs;
    }
    function updateProps(instance, rawProps, rawPrevProps, optimized) {
      const {
        props,
        attrs,
        vnode: {
          patchFlag
        }
      } = instance;
      const rawCurrentProps = toRaw(props);
      const [options] = instance.propsOptions;
      let hasAttrsChanged = false;
      if ((optimized || patchFlag > 0) && !(patchFlag & 16)) {
        if (patchFlag & 8) {
          const propsToUpdate = instance.vnode.dynamicProps;
          for (let i = 0; i < propsToUpdate.length; i++) {
            let key = propsToUpdate[i];
            if (isEmitListener(instance.emitsOptions, key)) continue;
            const value = rawProps[key];
            if (options) {
              if (hasOwn(attrs, key)) {
                if (value !== attrs[key]) {
                  attrs[key] = value;
                  hasAttrsChanged = true;
                }
              } else {
                const camelizedKey = camelize(key);
                props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false);
              }
            } else if (value !== attrs[key]) {
              attrs[key] = value;
              hasAttrsChanged = true;
            }
          }
        }
      } else {
        if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
        let kebabKey;
        for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
          if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, rawCurrentProps, key, void 0, instance, true);
        } else delete props[key];
        if (attrs !== rawCurrentProps) {
          for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && true) {
            delete attrs[key];
            hasAttrsChanged = true;
          }
        }
      }
      if (hasAttrsChanged) trigger(instance.attrs, "set", "");
    }
    function setFullProps(instance, rawProps, props, attrs) {
      const [options, needCastKeys] = instance.propsOptions;
      let hasAttrsChanged = false;
      let rawCastValues;
      if (rawProps) for (let key in rawProps) {
        if (isReservedProp(key)) continue;
        const value = rawProps[key];
        let camelKey;
        if (options && hasOwn(options, camelKey = camelize(key))) {
          if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
        } else if (!isEmitListener(instance.emitsOptions, key)) {
          if (!(key in attrs) || value !== attrs[key]) {
            attrs[key] = value;
            hasAttrsChanged = true;
          }
        }
      }
      if (needCastKeys) {
        const rawCurrentProps = toRaw(props);
        const castValues = rawCastValues || EMPTY_OBJ;
        for (let i = 0; i < needCastKeys.length; i++) {
          const key = needCastKeys[i];
          props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key));
        }
      }
      return hasAttrsChanged;
    }
    function resolvePropValue(options, props, key, value, instance, isAbsent) {
      const opt = options[key];
      if (opt != null) {
        const hasDefault = hasOwn(opt, "default");
        if (hasDefault && value === void 0) {
          const defaultValue = opt.default;
          if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
            const {
              propsDefaults
            } = instance;
            if (key in propsDefaults) value = propsDefaults[key];else {
              const reset = setCurrentInstance(instance);
              value = propsDefaults[key] = defaultValue.call(null, props);
              reset();
            }
          } else value = defaultValue;
          if (instance.ce) instance.ce._setProp(key, value);
        }
        if (opt[0]) {
          if (isAbsent && !hasDefault) value = false;else if (opt[1] && (value === "" || value === hyphenate(key))) value = true;
        }
      }
      return value;
    }
    function normalizePropsOptions(comp, appContext, asMixin = false) {
      const cache = asMixin ? mixinPropsCache : appContext.propsCache;
      const cached = cache.get(comp);
      if (cached) return cached;
      const raw = comp.props;
      const normalized = {};
      const needCastKeys = [];
      let hasExtends = false;
      if (!isFunction(comp)) {
        const extendProps = raw2 => {
          hasExtends = true;
          const [props, keys] = normalizePropsOptions(raw2, appContext, true);
          extend(normalized, props);
          if (keys) needCastKeys.push(...keys);
        };
        if (!asMixin && appContext.mixins.length) appContext.mixins.forEach(extendProps);
        if (comp.extends) extendProps(comp.extends);
        if (comp.mixins) comp.mixins.forEach(extendProps);
      }
      if (!raw && !hasExtends) {
        if (isObject(comp)) cache.set(comp, EMPTY_ARR);
        return EMPTY_ARR;
      }
      if (isArray(raw)) for (let i = 0; i < raw.length; i++) {
        const normalizedKey = camelize(raw[i]);
        if (validatePropName(normalizedKey)) normalized[normalizedKey] = EMPTY_OBJ;
      } else if (raw) for (const key in raw) {
        const normalizedKey = camelize(key);
        if (validatePropName(normalizedKey)) {
          const opt = raw[key];
          const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? {
            type: opt
          } : extend({}, opt);
          const propType = prop.type;
          let shouldCast = false;
          let shouldCastTrue = true;
          if (isArray(propType)) for (let index = 0; index < propType.length; ++index) {
            const type = propType[index];
            const typeName = isFunction(type) && type.name;
            if (typeName === "Boolean") {
              shouldCast = true;
              break;
            } else if (typeName === "String") shouldCastTrue = false;
          } else shouldCast = isFunction(propType) && propType.name === "Boolean";
          prop[0] = shouldCast;
          prop[1] = shouldCastTrue;
          if (shouldCast || hasOwn(prop, "default")) needCastKeys.push(normalizedKey);
        }
      }
      const res = [normalized, needCastKeys];
      if (isObject(comp)) cache.set(comp, res);
      return res;
    }
    function validatePropName(key) {
      if (key[0] !== "$" && !isReservedProp(key)) return true;
      return false;
    }
    function initFeatureFlags() {}
    function createRenderer(options) {
      return baseCreateRenderer(options);
    }
    function createHydrationRenderer(options) {
      return baseCreateRenderer(options, createHydrationFunctions);
    }
    function baseCreateRenderer(options, createHydrationFns) {
      initFeatureFlags();
      const target = getGlobalThis();
      target.__VUE__ = true;
      const {
        insert: hostInsert,
        remove: hostRemove,
        patchProp: hostPatchProp,
        createElement: hostCreateElement,
        createText: hostCreateText,
        createComment: hostCreateComment,
        setText: hostSetText,
        setElementText: hostSetElementText,
        parentNode: hostParentNode,
        nextSibling: hostNextSibling,
        setScopeId: hostSetScopeId = NOOP,
        insertStaticContent: hostInsertStaticContent
      } = options;
      const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => {
        if (n1 === n2) return;
        if (n1 && !isSameVNodeType(n1, n2)) {
          anchor = getNextHostNode(n1);
          unmount(n1, parentComponent, parentSuspense, true);
          n1 = null;
        }
        if (n2.patchFlag === -2) {
          optimized = false;
          n2.dynamicChildren = null;
        }
        const {
          type,
          ref: ref$1,
          shapeFlag
        } = n2;
        switch (type) {
          case Text:
            processText(n1, n2, container, anchor);
            break;
          case Comment:
            processCommentNode(n1, n2, container, anchor);
            break;
          case Static:
            if (n1 == null) mountStaticNode(n2, container, anchor, namespace);
            break;
          case Fragment:
            processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
            break;
          default:
            if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else if (shapeFlag & 64) type.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);else if (shapeFlag & 128) type.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
        }
        if (ref$1 != null && parentComponent) setRef(ref$1, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
      };
      const processText = (n1, n2, container, anchor) => {
        if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);else {
          const el = n2.el = n1.el;
          if (n2.children !== n1.children) hostSetText(el, n2.children);
        }
      };
      const processCommentNode = (n1, n2, container, anchor) => {
        if (n1 == null) hostInsert(n2.el = hostCreateComment(n2.children || ""), container, anchor);else n2.el = n1.el;
      };
      const mountStaticNode = (n2, container, anchor, namespace) => {
        [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, namespace, n2.el, n2.anchor);
      };
      const moveStaticNode = ({
        el,
        anchor
      }, container, nextSibling) => {
        let next;
        while (el && el !== anchor) {
          next = hostNextSibling(el);
          hostInsert(el, container, nextSibling);
          el = next;
        }
        hostInsert(anchor, container, nextSibling);
      };
      const removeStaticNode = ({
        el,
        anchor
      }) => {
        let next;
        while (el && el !== anchor) {
          next = hostNextSibling(el);
          hostRemove(el);
          el = next;
        }
        hostRemove(anchor);
      };
      const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        if (n2.type === "svg") namespace = "svg";else if (n2.type === "math") namespace = "mathml";
        if (n1 == null) mountElement(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else patchElement(n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
      };
      const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        let el;
        let vnodeHook;
        const {
          props,
          shapeFlag,
          transition,
          dirs
        } = vnode;
        el = vnode.el = hostCreateElement(vnode.type, namespace, props && props.is, props);
        if (shapeFlag & 8) hostSetElementText(el, vnode.children);else if (shapeFlag & 16) mountChildren(vnode.children, el, null, parentComponent, parentSuspense, resolveChildrenNamespace(vnode, namespace), slotScopeIds, optimized);
        if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "created");
        setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
        if (props) {
          for (const key in props) if (key !== "value" && !isReservedProp(key)) hostPatchProp(el, key, null, props[key], namespace, parentComponent);
          if ("value" in props) hostPatchProp(el, "value", null, props.value, namespace);
          if (vnodeHook = props.onVnodeBeforeMount) invokeVNodeHook(vnodeHook, parentComponent, vnode);
        }
        if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
        const needCallTransitionHooks = needTransition(parentSuspense, transition);
        if (needCallTransitionHooks) transition.beforeEnter(el);
        hostInsert(el, container, anchor);
        if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) queuePostRenderEffect(() => {
          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
          needCallTransitionHooks && transition.enter(el);
          dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
        }, parentSuspense);
      };
      const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
        if (scopeId) hostSetScopeId(el, scopeId);
        if (slotScopeIds) for (let i = 0; i < slotScopeIds.length; i++) hostSetScopeId(el, slotScopeIds[i]);
        if (parentComponent) {
          let subTree = parentComponent.subTree;
          if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {
            const parentVNode = parentComponent.vnode;
            setScopeId(el, parentVNode, parentVNode.scopeId, parentVNode.slotScopeIds, parentComponent.parent);
          }
        }
      };
      const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
        for (let i = start; i < children.length; i++) patch(null, children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]), container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
      };
      const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        const el = n2.el = n1.el;
        let {
          patchFlag,
          dynamicChildren,
          dirs
        } = n2;
        patchFlag |= n1.patchFlag & 16;
        const oldProps = n1.props || EMPTY_OBJ;
        const newProps = n2.props || EMPTY_OBJ;
        let vnodeHook;
        parentComponent && toggleRecurse(parentComponent, false);
        if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
        if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
        parentComponent && toggleRecurse(parentComponent, true);
        if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) hostSetElementText(el, "");
        if (dynamicChildren) patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, resolveChildrenNamespace(n2, namespace), slotScopeIds);else if (!optimized) patchChildren(n1, n2, el, null, parentComponent, parentSuspense, resolveChildrenNamespace(n2, namespace), slotScopeIds, false);
        if (patchFlag > 0) {
          if (patchFlag & 16) patchProps(el, oldProps, newProps, parentComponent, namespace);else {
            if (patchFlag & 2) {
              if (oldProps.class !== newProps.class) hostPatchProp(el, "class", null, newProps.class, namespace);
            }
            if (patchFlag & 4) hostPatchProp(el, "style", oldProps.style, newProps.style, namespace);
            if (patchFlag & 8) {
              const propsToUpdate = n2.dynamicProps;
              for (let i = 0; i < propsToUpdate.length; i++) {
                const key = propsToUpdate[i];
                const prev = oldProps[key];
                const next = newProps[key];
                if (next !== prev || key === "value") hostPatchProp(el, key, prev, next, namespace, parentComponent);
              }
            }
          }
          if (patchFlag & 1) {
            if (n1.children !== n2.children) hostSetElementText(el, n2.children);
          }
        } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
        if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
          dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
        }, parentSuspense);
      };
      const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {
        for (let i = 0; i < newChildren.length; i++) {
          const oldVNode = oldChildren[i];
          const newVNode = newChildren[i];
          patch(oldVNode, newVNode, oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 70) ? hostParentNode(oldVNode.el) : fallbackContainer, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
        }
      };
      const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
        if (oldProps !== newProps) {
          if (oldProps !== EMPTY_OBJ) {
            for (const key in oldProps) if (!isReservedProp(key) && !(key in newProps)) hostPatchProp(el, key, oldProps[key], null, namespace, parentComponent);
          }
          for (const key in newProps) {
            if (isReservedProp(key)) continue;
            const next = newProps[key];
            const prev = oldProps[key];
            if (next !== prev && key !== "value") hostPatchProp(el, key, prev, next, namespace, parentComponent);
          }
          if ("value" in newProps) hostPatchProp(el, "value", oldProps.value, newProps.value, namespace);
        }
      };
      const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
        const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
        let {
          patchFlag,
          dynamicChildren,
          slotScopeIds: fragmentSlotScopeIds
        } = n2;
        if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
        if (n1 == null) {
          hostInsert(fragmentStartAnchor, container, anchor);
          hostInsert(fragmentEndAnchor, container, anchor);
          mountChildren(n2.children || [], container, fragmentEndAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
        } else if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && n1.dynamicChildren) {
          patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, namespace, slotScopeIds);
          if (n2.key != null || parentComponent && n2 === parentComponent.subTree) traverseStaticChildren(n1, n2, true);
        } else patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
      };
      const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        n2.slotScopeIds = slotScopeIds;
        if (n1 == null) {
          if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
        } else updateComponent(n1, n2, optimized);
      };
      const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
        const instance = initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense);
        if (isKeepAlive(initialVNode)) instance.ctx.renderer = internals;
        setupComponent(instance, false, optimized);
        if (instance.asyncDep) {
          parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
          if (!initialVNode.el) processCommentNode(null, instance.subTree = createVNode(Comment), container, anchor);
        } else setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, namespace, optimized);
      };
      const updateComponent = (n1, n2, optimized) => {
        const instance = n2.component = n1.component;
        if (shouldUpdateComponent(n1, n2, optimized)) {
          if (instance.asyncDep && !instance.asyncResolved) {
            updateComponentPreRender(instance, n2, optimized);
            return;
          } else {
            instance.next = n2;
            instance.update();
          }
        } else {
          n2.el = n1.el;
          instance.vnode = n2;
        }
      };
      const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {
        const componentUpdateFn = () => {
          if (!instance.isMounted) {
            let vnodeHook;
            const {
              el,
              props
            } = initialVNode;
            const {
              bm,
              m,
              parent,
              root,
              type
            } = instance;
            const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
            toggleRecurse(instance, false);
            if (bm) invokeArrayFns(bm);
            if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) invokeVNodeHook(vnodeHook, parent, initialVNode);
            toggleRecurse(instance, true);
            if (el && hydrateNode) {
              const hydrateSubTree = () => {
                instance.subTree = renderComponentRoot(instance);
                hydrateNode(el, instance.subTree, instance, parentSuspense, null);
              };
              if (isAsyncWrapperVNode && type.__asyncHydrate) type.__asyncHydrate(el, instance, hydrateSubTree);else hydrateSubTree();
            } else {
              if (root.ce) root.ce._injectChildStyle(type);
              const subTree = instance.subTree = renderComponentRoot(instance);
              patch(null, subTree, container, anchor, instance, parentSuspense, namespace);
              initialVNode.el = subTree.el;
            }
            if (m) queuePostRenderEffect(m, parentSuspense);
            if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
              const scopedInitialVNode = initialVNode;
              queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);
            }
            if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) instance.a && queuePostRenderEffect(instance.a, parentSuspense);
            instance.isMounted = true;
            initialVNode = container = anchor = null;
          } else {
            let {
              next,
              bu,
              u,
              parent,
              vnode
            } = instance;
            {
              const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);
              if (nonHydratedAsyncRoot) {
                if (next) {
                  next.el = vnode.el;
                  updateComponentPreRender(instance, next, optimized);
                }
                nonHydratedAsyncRoot.asyncDep.then(() => {
                  if (!instance.isUnmounted) componentUpdateFn();
                });
                return;
              }
            }
            let originNext = next;
            let vnodeHook;
            toggleRecurse(instance, false);
            if (next) {
              next.el = vnode.el;
              updateComponentPreRender(instance, next, optimized);
            } else next = vnode;
            if (bu) invokeArrayFns(bu);
            if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
            toggleRecurse(instance, true);
            const nextTree = renderComponentRoot(instance);
            const prevTree = instance.subTree;
            instance.subTree = nextTree;
            patch(prevTree, nextTree, hostParentNode(prevTree.el), getNextHostNode(prevTree), instance, parentSuspense, namespace);
            next.el = nextTree.el;
            if (originNext === null) updateHOCHostEl(instance, nextTree.el);
            if (u) queuePostRenderEffect(u, parentSuspense);
            if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);
          }
        };
        instance.scope.on();
        const effect$1 = instance.effect = new ReactiveEffect(componentUpdateFn);
        instance.scope.off();
        const update = instance.update = effect$1.run.bind(effect$1);
        const job = instance.job = effect$1.runIfDirty.bind(effect$1);
        job.i = instance;
        job.id = instance.uid;
        effect$1.scheduler = () => queueJob(job);
        toggleRecurse(instance, true);
        update();
      };
      const updateComponentPreRender = (instance, nextVNode, optimized) => {
        nextVNode.component = instance;
        const prevProps = instance.vnode.props;
        instance.vnode = nextVNode;
        instance.next = null;
        updateProps(instance, nextVNode.props, prevProps, optimized);
        updateSlots(instance, nextVNode.children, optimized);
        pauseTracking();
        flushPreFlushCbs(instance);
        resetTracking();
      };
      const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {
        const c1 = n1 && n1.children;
        const prevShapeFlag = n1 ? n1.shapeFlag : 0;
        const c2 = n2.children;
        const {
          patchFlag,
          shapeFlag
        } = n2;
        if (patchFlag > 0) {
          if (patchFlag & 128) {
            patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
            return;
          } else if (patchFlag & 256) {
            patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
            return;
          }
        }
        if (shapeFlag & 8) {
          if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
          if (c2 !== c1) hostSetElementText(container, c2);
        } else if (prevShapeFlag & 16) {
          if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else unmountChildren(c1, parentComponent, parentSuspense, true);
        } else {
          if (prevShapeFlag & 8) hostSetElementText(container, "");
          if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
        }
      };
      const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        c1 = c1 || EMPTY_ARR;
        c2 = c2 || EMPTY_ARR;
        const oldLength = c1.length;
        const newLength = c2.length;
        const commonLength = Math.min(oldLength, newLength);
        let i;
        for (i = 0; i < commonLength; i++) {
          const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
          patch(c1[i], nextChild, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
        }
        if (oldLength > newLength) unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength);else mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, commonLength);
      };
      const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
        let i = 0;
        const l2 = c2.length;
        let e1 = c1.length - 1;
        let e2 = l2 - 1;
        while (i <= e1 && i <= e2) {
          const n1 = c1[i];
          const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
          if (isSameVNodeType(n1, n2)) patch(n1, n2, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else break;
          i++;
        }
        while (i <= e1 && i <= e2) {
          const n1 = c1[e1];
          const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);
          if (isSameVNodeType(n1, n2)) patch(n1, n2, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else break;
          e1--;
          e2--;
        }
        if (i > e1) {
          if (i <= e2) {
            const nextPos = e2 + 1;
            const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
            while (i <= e2) {
              patch(null, c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
              i++;
            }
          }
        } else if (i > e2) while (i <= e1) {
          unmount(c1[i], parentComponent, parentSuspense, true);
          i++;
        } else {
          const s1 = i;
          const s2 = i;
          const keyToNewIndexMap = /* @__PURE__ */new Map();
          for (i = s2; i <= e2; i++) {
            const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);
            if (nextChild.key != null) keyToNewIndexMap.set(nextChild.key, i);
          }
          let j;
          let patched = 0;
          const toBePatched = e2 - s2 + 1;
          let moved = false;
          let maxNewIndexSoFar = 0;
          const newIndexToOldIndexMap = new Array(toBePatched);
          for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0;
          for (i = s1; i <= e1; i++) {
            const prevChild = c1[i];
            if (patched >= toBePatched) {
              unmount(prevChild, parentComponent, parentSuspense, true);
              continue;
            }
            let newIndex;
            if (prevChild.key != null) newIndex = keyToNewIndexMap.get(prevChild.key);else for (j = s2; j <= e2; j++) if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {
              newIndex = j;
              break;
            }
            if (newIndex === void 0) unmount(prevChild, parentComponent, parentSuspense, true);else {
              newIndexToOldIndexMap[newIndex - s2] = i + 1;
              if (newIndex >= maxNewIndexSoFar) maxNewIndexSoFar = newIndex;else moved = true;
              patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
              patched++;
            }
          }
          const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
          j = increasingNewIndexSequence.length - 1;
          for (i = toBePatched - 1; i >= 0; i--) {
            const nextIndex = s2 + i;
            const nextChild = c2[nextIndex];
            const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
            if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2);else j--;
          }
        }
      };
      const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
        const {
          el,
          type,
          transition,
          children,
          shapeFlag
        } = vnode;
        if (shapeFlag & 6) {
          move(vnode.component.subTree, container, anchor, moveType);
          return;
        }
        if (shapeFlag & 128) {
          vnode.suspense.move(container, anchor, moveType);
          return;
        }
        if (shapeFlag & 64) {
          type.move(vnode, container, anchor, internals);
          return;
        }
        if (type === Fragment) {
          hostInsert(el, container, anchor);
          for (let i = 0; i < children.length; i++) move(children[i], container, anchor, moveType);
          hostInsert(vnode.anchor, container, anchor);
          return;
        }
        if (type === Static) {
          moveStaticNode(vnode, container, anchor);
          return;
        }
        if (moveType !== 2 && shapeFlag & 1 && transition) {
          if (moveType === 0) {
            transition.beforeEnter(el);
            hostInsert(el, container, anchor);
            queuePostRenderEffect(() => transition.enter(el), parentSuspense);
          } else {
            const {
              leave,
              delayLeave,
              afterLeave
            } = transition;
            const remove2 = () => hostInsert(el, container, anchor);
            const performLeave = () => {
              leave(el, () => {
                remove2();
                afterLeave && afterLeave();
              });
            };
            if (delayLeave) delayLeave(el, remove2, performLeave);else performLeave();
          }
        } else hostInsert(el, container, anchor);
      };
      const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
        const {
          type,
          props,
          ref: ref$1,
          children,
          dynamicChildren,
          shapeFlag,
          patchFlag,
          dirs,
          cacheIndex
        } = vnode;
        if (patchFlag === -2) optimized = false;
        if (ref$1 != null) setRef(ref$1, null, parentSuspense, vnode, true);
        if (cacheIndex != null) parentComponent.renderCache[cacheIndex] = void 0;
        if (shapeFlag & 256) {
          parentComponent.ctx.deactivate(vnode);
          return;
        }
        const shouldInvokeDirs = shapeFlag & 1 && dirs;
        const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
        let vnodeHook;
        if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
        if (shapeFlag & 6) unmountComponent(vnode.component, parentSuspense, doRemove);else {
          if (shapeFlag & 128) {
            vnode.suspense.unmount(parentSuspense, doRemove);
            return;
          }
          if (shouldInvokeDirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
          if (shapeFlag & 64) vnode.type.remove(vnode, parentComponent, parentSuspense, internals, doRemove);else if (dynamicChildren && !dynamicChildren.hasOnce && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);else if (type === Fragment && patchFlag & 384 || !optimized && shapeFlag & 16) unmountChildren(children, parentComponent, parentSuspense);
          if (doRemove) remove$1(vnode);
        }
        if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) queuePostRenderEffect(() => {
          vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
          shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
        }, parentSuspense);
      };
      const remove$1 = vnode => {
        const {
          type,
          el,
          anchor,
          transition
        } = vnode;
        if (type === Fragment) {
          removeFragment(el, anchor);
          return;
        }
        if (type === Static) {
          removeStaticNode(vnode);
          return;
        }
        const performRemove = () => {
          hostRemove(el);
          if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
        };
        if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
          const {
            leave,
            delayLeave
          } = transition;
          const performLeave = () => leave(el, performRemove);
          if (delayLeave) delayLeave(vnode.el, performRemove, performLeave);else performLeave();
        } else performRemove();
      };
      const removeFragment = (cur, end) => {
        let next;
        while (cur !== end) {
          next = hostNextSibling(cur);
          hostRemove(cur);
          cur = next;
        }
        hostRemove(end);
      };
      const unmountComponent = (instance, parentSuspense, doRemove) => {
        const {
          bum,
          scope,
          job,
          subTree,
          um,
          m,
          a
        } = instance;
        invalidateMount(m);
        invalidateMount(a);
        if (bum) invokeArrayFns(bum);
        scope.stop();
        if (job) {
          job.flags |= 8;
          unmount(subTree, instance, parentSuspense, doRemove);
        }
        if (um) queuePostRenderEffect(um, parentSuspense);
        queuePostRenderEffect(() => {
          instance.isUnmounted = true;
        }, parentSuspense);
        if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
          parentSuspense.deps--;
          if (parentSuspense.deps === 0) parentSuspense.resolve();
        }
      };
      const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
        for (let i = start; i < children.length; i++) unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
      };
      const getNextHostNode = vnode => {
        if (vnode.shapeFlag & 6) return getNextHostNode(vnode.component.subTree);
        if (vnode.shapeFlag & 128) return vnode.suspense.next();
        const el = hostNextSibling(vnode.anchor || vnode.el);
        const teleportEnd = el && el[TeleportEndKey];
        return teleportEnd ? hostNextSibling(teleportEnd) : el;
      };
      let isFlushing = false;
      const render$1 = (vnode, container, namespace) => {
        if (vnode == null) {
          if (container._vnode) unmount(container._vnode, null, null, true);
        } else patch(container._vnode || null, vnode, container, null, null, null, namespace);
        container._vnode = vnode;
        if (!isFlushing) {
          isFlushing = true;
          flushPreFlushCbs();
          flushPostFlushCbs();
          isFlushing = false;
        }
      };
      const internals = {
        p: patch,
        um: unmount,
        m: move,
        r: remove$1,
        mt: mountComponent,
        mc: mountChildren,
        pc: patchChildren,
        pbc: patchBlockChildren,
        n: getNextHostNode,
        o: options
      };
      let hydrate$1;
      let hydrateNode;
      if (createHydrationFns) [hydrate$1, hydrateNode] = createHydrationFns(internals);
      return {
        render: render$1,
        hydrate: hydrate$1,
        createApp: createAppAPI(render$1, hydrate$1)
      };
    }
    function resolveChildrenNamespace({
      type,
      props
    }, currentNamespace) {
      return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
    }
    function toggleRecurse({
      effect: effect$1,
      job
    }, allowed) {
      if (allowed) {
        effect$1.flags |= 32;
        job.flags |= 4;
      } else {
        effect$1.flags &= -33;
        job.flags &= -5;
      }
    }
    function needTransition(parentSuspense, transition) {
      return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
    }
    function traverseStaticChildren(n1, n2, shallow = false) {
      const ch1 = n1.children;
      const ch2 = n2.children;
      if (isArray(ch1) && isArray(ch2)) for (let i = 0; i < ch1.length; i++) {
        const c1 = ch1[i];
        let c2 = ch2[i];
        if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
          if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
            c2 = ch2[i] = cloneIfMounted(ch2[i]);
            c2.el = c1.el;
          }
          if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
        }
        if (c2.type === Text) c2.el = c1.el;
      }
    }
    function getSequence(arr) {
      const p$1 = arr.slice();
      const result = [0];
      let i, j, u, v, c;
      const len = arr.length;
      for (i = 0; i < len; i++) {
        const arrI = arr[i];
        if (arrI !== 0) {
          j = result[result.length - 1];
          if (arr[j] < arrI) {
            p$1[i] = j;
            result.push(i);
            continue;
          }
          u = 0;
          v = result.length - 1;
          while (u < v) {
            c = u + v >> 1;
            if (arr[result[c]] < arrI) u = c + 1;else v = c;
          }
          if (arrI < arr[result[u]]) {
            if (u > 0) p$1[i] = result[u - 1];
            result[u] = i;
          }
        }
      }
      u = result.length;
      v = result[u - 1];
      while (u-- > 0) {
        result[u] = v;
        v = p$1[v];
      }
      return result;
    }
    function locateNonHydratedAsyncRoot(instance) {
      const subComponent = instance.subTree.component;
      if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;else return locateNonHydratedAsyncRoot(subComponent);
    }
    function invalidateMount(hooks) {
      if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 8;
    }
    function watchEffect(effect$1, options) {
      return doWatch(effect$1, null, options);
    }
    function watchPostEffect(effect$1, options) {
      return doWatch(effect$1, null, {
        flush: "post"
      });
    }
    function watchSyncEffect(effect$1, options) {
      return doWatch(effect$1, null, {
        flush: "sync"
      });
    }
    function watch(source, cb, options) {
      return doWatch(source, cb, options);
    }
    function doWatch(source, cb, options = EMPTY_OBJ) {
      const {
        immediate,
        deep,
        flush,
        once
      } = options;
      const baseWatchOptions = extend({}, options);
      const runsImmediately = cb && immediate || !cb && flush !== "post";
      let ssrCleanup;
      if (isInSSRComponentSetup) {
        if (flush === "sync") {
          const ctx = useSSRContext();
          ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);
        } else if (!runsImmediately) {
          const watchStopHandle = () => {};
          watchStopHandle.stop = NOOP;
          watchStopHandle.resume = NOOP;
          watchStopHandle.pause = NOOP;
          return watchStopHandle;
        }
      }
      const instance = currentInstance;
      baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);
      let isPre = false;
      if (flush === "post") baseWatchOptions.scheduler = job => {
        queuePostRenderEffect(job, instance && instance.suspense);
      };else if (flush !== "sync") {
        isPre = true;
        baseWatchOptions.scheduler = (job, isFirstRun) => {
          if (isFirstRun) job();else queueJob(job);
        };
      }
      baseWatchOptions.augmentJob = job => {
        if (cb) job.flags |= 4;
        if (isPre) {
          job.flags |= 2;
          if (instance) {
            job.id = instance.uid;
            job.i = instance;
          }
        }
      };
      const watchHandle = watch$1(source, cb, baseWatchOptions);
      if (isInSSRComponentSetup) {
        if (ssrCleanup) ssrCleanup.push(watchHandle);else if (runsImmediately) watchHandle();
      }
      return watchHandle;
    }
    function instanceWatch(source, value, options) {
      const publicThis = this.proxy;
      const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
      let cb;
      if (isFunction(value)) cb = value;else {
        cb = value.handler;
        options = value;
      }
      const reset = setCurrentInstance(this);
      const res = doWatch(getter, cb.bind(publicThis), options);
      reset();
      return res;
    }
    function createPathGetter(ctx, path) {
      const segments = path.split(".");
      return () => {
        let cur = ctx;
        for (let i = 0; i < segments.length && cur; i++) cur = cur[segments[i]];
        return cur;
      };
    }
    function useModel(props, name, options = EMPTY_OBJ) {
      const i = getCurrentInstance();
      const camelizedName = camelize(name);
      const hyphenatedName = hyphenate(name);
      const modifiers = getModelModifiers(props, camelizedName);
      const res = customRef((track$1, trigger$1) => {
        let localValue;
        let prevSetValue = EMPTY_OBJ;
        let prevEmittedValue;
        watchSyncEffect(() => {
          const propValue = props[camelizedName];
          if (hasChanged(localValue, propValue)) {
            localValue = propValue;
            trigger$1();
          }
        });
        return {
          get() {
            track$1();
            return options.get ? options.get(localValue) : localValue;
          },
          set(value) {
            const emittedValue = options.set ? options.set(value) : value;
            if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) return;
            const rawProps = i.vnode.props;
            if (!(rawProps && (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) {
              localValue = value;
              trigger$1();
            }
            i.emit(`update:${name}`, emittedValue);
            if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) trigger$1();
            prevSetValue = value;
            prevEmittedValue = emittedValue;
          }
        };
      });
      res[Symbol.iterator] = () => {
        let i2 = 0;
        return {
          next() {
            if (i2 < 2) return {
              value: i2++ ? modifiers || EMPTY_OBJ : res,
              done: false
            };else return {
              done: true
            };
          }
        };
      };
      return res;
    }
    function emit(instance, event, ...rawArgs) {
      if (instance.isUnmounted) return;
      const props = instance.vnode.props || EMPTY_OBJ;
      let args = rawArgs;
      const isModelListener$1 = event.startsWith("update:");
      const modifiers = isModelListener$1 && getModelModifiers(props, event.slice(7));
      if (modifiers) {
        if (modifiers.trim) args = rawArgs.map(a => isString(a) ? a.trim() : a);
        if (modifiers.number) args = rawArgs.map(looseToNumber);
      }
      let handlerName;
      let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize(event))];
      if (!handler && isModelListener$1) handler = props[handlerName = toHandlerKey(hyphenate(event))];
      if (handler) callWithAsyncErrorHandling(handler, instance, 6, args);
      const onceHandler = props[handlerName + `Once`];
      if (onceHandler) {
        if (!instance.emitted) instance.emitted = {};else if (instance.emitted[handlerName]) return;
        instance.emitted[handlerName] = true;
        callWithAsyncErrorHandling(onceHandler, instance, 6, args);
      }
    }
    function normalizeEmitsOptions(comp, appContext, asMixin = false) {
      const cache = appContext.emitsCache;
      const cached = cache.get(comp);
      if (cached !== void 0) return cached;
      const raw = comp.emits;
      let normalized = {};
      let hasExtends = false;
      if (!isFunction(comp)) {
        const extendEmits = raw2 => {
          const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
          if (normalizedFromExtend) {
            hasExtends = true;
            extend(normalized, normalizedFromExtend);
          }
        };
        if (!asMixin && appContext.mixins.length) appContext.mixins.forEach(extendEmits);
        if (comp.extends) extendEmits(comp.extends);
        if (comp.mixins) comp.mixins.forEach(extendEmits);
      }
      if (!raw && !hasExtends) {
        if (isObject(comp)) cache.set(comp, null);
        return null;
      }
      if (isArray(raw)) raw.forEach(key => normalized[key] = null);else extend(normalized, raw);
      if (isObject(comp)) cache.set(comp, normalized);
      return normalized;
    }
    function isEmitListener(options, key) {
      if (!options || !isOn(key)) return false;
      key = key.slice(2).replace(/Once$/, "");
      return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);
    }
    function renderComponentRoot(instance) {
      const {
        type: Component,
        vnode,
        proxy,
        withProxy,
        propsOptions: [propsOptions],
        slots,
        attrs,
        emit: emit$1,
        render: render$1,
        renderCache,
        props,
        data,
        setupState,
        ctx,
        inheritAttrs
      } = instance;
      const prev = setCurrentRenderingInstance(instance);
      let result;
      let fallthroughAttrs;
      try {
        if (vnode.shapeFlag & 4) {
          const proxyToUse = withProxy || proxy;
          const thisProxy = proxyToUse;
          result = normalizeVNode(render$1.call(thisProxy, proxyToUse, renderCache, props, setupState, data, ctx));
          fallthroughAttrs = attrs;
        } else {
          const render2 = Component;
          result = normalizeVNode(render2.length > 1 ? render2(props, {
            attrs,
            slots,
            emit: emit$1
          }) : render2(props, null));
          fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
        }
      } catch (err) {
        blockStack.length = 0;
        handleError(err, instance, 1);
        result = createVNode(Comment);
      }
      let root = result;
      if (fallthroughAttrs && inheritAttrs !== false) {
        const keys = Object.keys(fallthroughAttrs);
        const {
          shapeFlag
        } = root;
        if (keys.length) {
          if (shapeFlag & 7) {
            if (propsOptions && keys.some(isModelListener)) fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);
            root = cloneVNode(root, fallthroughAttrs, false, true);
          }
        }
      }
      if (vnode.dirs) {
        root = cloneVNode(root, null, false, true);
        root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
      }
      if (vnode.transition) setTransitionHooks(root, vnode.transition);
      result = root;
      setCurrentRenderingInstance(prev);
      return result;
    }
    function filterSingleRoot(children, recurse = true) {
      let singleRoot;
      for (let i = 0; i < children.length; i++) {
        const child = children[i];
        if (isVNode(child)) {
          if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;else singleRoot = child;
        } else return;
      }
      return singleRoot;
    }
    function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
      const {
        props: prevProps,
        children: prevChildren,
        component
      } = prevVNode;
      const {
        props: nextProps,
        children: nextChildren,
        patchFlag
      } = nextVNode;
      const emits = component.emitsOptions;
      if (nextVNode.dirs || nextVNode.transition) return true;
      if (optimized && patchFlag >= 0) {
        if (patchFlag & 1024) return true;
        if (patchFlag & 16) {
          if (!prevProps) return !!nextProps;
          return hasPropsChanged(prevProps, nextProps, emits);
        } else if (patchFlag & 8) {
          const dynamicProps = nextVNode.dynamicProps;
          for (let i = 0; i < dynamicProps.length; i++) {
            const key = dynamicProps[i];
            if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
          }
        }
      } else {
        if (prevChildren || nextChildren) {
          if (!nextChildren || !nextChildren.$stable) return true;
        }
        if (prevProps === nextProps) return false;
        if (!prevProps) return !!nextProps;
        if (!nextProps) return true;
        return hasPropsChanged(prevProps, nextProps, emits);
      }
      return false;
    }
    function hasPropsChanged(prevProps, nextProps, emitsOptions) {
      const nextKeys = Object.keys(nextProps);
      if (nextKeys.length !== Object.keys(prevProps).length) return true;
      for (let i = 0; i < nextKeys.length; i++) {
        const key = nextKeys[i];
        if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
      }
      return false;
    }
    function updateHOCHostEl({
      vnode,
      parent
    }, el) {
      while (parent) {
        const root = parent.subTree;
        if (root.suspense && root.suspense.activeBranch === vnode) root.el = vnode.el;
        if (root === vnode) {
          (vnode = parent.vnode).el = el;
          parent = parent.parent;
        } else break;
      }
    }
    function triggerEvent(vnode, name) {
      const eventListener = vnode.props && vnode.props[name];
      if (isFunction(eventListener)) eventListener();
    }
    function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
      const {
        p: patch,
        o: {
          createElement
        }
      } = rendererInternals;
      const hiddenContainer = createElement("div");
      const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals);
      patch(null, suspense.pendingBranch = vnode.ssContent, hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds);
      if (suspense.deps > 0) {
        triggerEvent(vnode, "onPending");
        triggerEvent(vnode, "onFallback");
        patch(null, vnode.ssFallback, container, anchor, parentComponent, null, namespace, slotScopeIds);
        setActiveBranch(suspense, vnode.ssFallback);
      } else suspense.resolve(false, true);
    }
    function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, {
      p: patch,
      um: unmount,
      o: {
        createElement
      }
    }) {
      const suspense = n2.suspense = n1.suspense;
      suspense.vnode = n2;
      n2.el = n1.el;
      const newBranch = n2.ssContent;
      const newFallback = n2.ssFallback;
      const {
        activeBranch,
        pendingBranch,
        isInFallback,
        isHydrating
      } = suspense;
      if (pendingBranch) {
        suspense.pendingBranch = newBranch;
        if (isSameVNodeType(newBranch, pendingBranch)) {
          patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
          if (suspense.deps <= 0) suspense.resolve();else if (isInFallback) {
            if (!isHydrating) {
              patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
              setActiveBranch(suspense, newFallback);
            }
          }
        } else {
          suspense.pendingId = suspenseId++;
          if (isHydrating) {
            suspense.isHydrating = false;
            suspense.activeBranch = pendingBranch;
          } else unmount(pendingBranch, parentComponent, suspense);
          suspense.deps = 0;
          suspense.effects.length = 0;
          suspense.hiddenContainer = createElement("div");
          if (isInFallback) {
            patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
            if (suspense.deps <= 0) suspense.resolve();else {
              patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
              setActiveBranch(suspense, newFallback);
            }
          } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
            patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized);
            suspense.resolve(true);
          } else {
            patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
            if (suspense.deps <= 0) suspense.resolve();
          }
        }
      } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
        patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized);
        setActiveBranch(suspense, newBranch);
      } else {
        triggerEvent(n2, "onPending");
        suspense.pendingBranch = newBranch;
        if (newBranch.shapeFlag & 512) suspense.pendingId = newBranch.component.suspenseId;else suspense.pendingId = suspenseId++;
        patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
        if (suspense.deps <= 0) suspense.resolve();else {
          const {
            timeout,
            pendingId
          } = suspense;
          if (timeout > 0) setTimeout(() => {
            if (suspense.pendingId === pendingId) suspense.fallback(newFallback);
          }, timeout);else if (timeout === 0) suspense.fallback(newFallback);
        }
      }
    }
    function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
      const {
        p: patch,
        m: move,
        um: unmount,
        n: next,
        o: {
          parentNode,
          remove: remove$1
        }
      } = rendererInternals;
      let parentSuspenseId;
      const isSuspensible = isVNodeSuspensible(vnode);
      if (isSuspensible) {
        if (parentSuspense && parentSuspense.pendingBranch) {
          parentSuspenseId = parentSuspense.pendingId;
          parentSuspense.deps++;
        }
      }
      const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;
      const initialAnchor = anchor;
      const suspense = {
        vnode,
        parent: parentSuspense,
        parentComponent,
        namespace,
        container,
        hiddenContainer,
        deps: 0,
        pendingId: suspenseId++,
        timeout: typeof timeout === "number" ? timeout : -1,
        activeBranch: null,
        pendingBranch: null,
        isInFallback: !isHydrating,
        isHydrating,
        isUnmounted: false,
        effects: [],
        resolve(resume = false, sync = false) {
          const {
            vnode: vnode2,
            activeBranch,
            pendingBranch,
            pendingId,
            effects,
            parentComponent: parentComponent2,
            container: container2
          } = suspense;
          let delayEnter = false;
          if (suspense.isHydrating) suspense.isHydrating = false;else if (!resume) {
            delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
            if (delayEnter) activeBranch.transition.afterLeave = () => {
              if (pendingId === suspense.pendingId) {
                move(pendingBranch, container2, anchor === initialAnchor ? next(activeBranch) : anchor, 0);
                queuePostFlushCb(effects);
              }
            };
            if (activeBranch) {
              if (parentNode(activeBranch.el) === container2) anchor = next(activeBranch);
              unmount(activeBranch, parentComponent2, suspense, true);
            }
            if (!delayEnter) move(pendingBranch, container2, anchor, 0);
          }
          setActiveBranch(suspense, pendingBranch);
          suspense.pendingBranch = null;
          suspense.isInFallback = false;
          let parent = suspense.parent;
          let hasUnresolvedAncestor = false;
          while (parent) {
            if (parent.pendingBranch) {
              parent.effects.push(...effects);
              hasUnresolvedAncestor = true;
              break;
            }
            parent = parent.parent;
          }
          if (!hasUnresolvedAncestor && !delayEnter) queuePostFlushCb(effects);
          suspense.effects = [];
          if (isSuspensible) {
            if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {
              parentSuspense.deps--;
              if (parentSuspense.deps === 0 && !sync) parentSuspense.resolve();
            }
          }
          triggerEvent(vnode2, "onResolve");
        },
        fallback(fallbackVNode) {
          if (!suspense.pendingBranch) return;
          const {
            vnode: vnode2,
            activeBranch,
            parentComponent: parentComponent2,
            container: container2,
            namespace: namespace2
          } = suspense;
          triggerEvent(vnode2, "onFallback");
          const anchor2 = next(activeBranch);
          const mountFallback = () => {
            if (!suspense.isInFallback) return;
            patch(null, fallbackVNode, container2, anchor2, parentComponent2, null, namespace2, slotScopeIds, optimized);
            setActiveBranch(suspense, fallbackVNode);
          };
          const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
          if (delayEnter) activeBranch.transition.afterLeave = mountFallback;
          suspense.isInFallback = true;
          unmount(activeBranch, parentComponent2, null, true);
          if (!delayEnter) mountFallback();
        },
        move(container2, anchor2, type) {
          suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);
          suspense.container = container2;
        },
        next() {
          return suspense.activeBranch && next(suspense.activeBranch);
        },
        registerDep(instance, setupRenderEffect, optimized2) {
          const isInPendingSuspense = !!suspense.pendingBranch;
          if (isInPendingSuspense) suspense.deps++;
          const hydratedEl = instance.vnode.el;
          instance.asyncDep.catch(err => {
            handleError(err, instance, 0);
          }).then(asyncSetupResult => {
            if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) return;
            instance.asyncResolved = true;
            const {
              vnode: vnode2
            } = instance;
            handleSetupResult(instance, asyncSetupResult, false);
            if (hydratedEl) vnode2.el = hydratedEl;
            const placeholder = !hydratedEl && instance.subTree.el;
            setupRenderEffect(instance, vnode2, parentNode(hydratedEl || instance.subTree.el), hydratedEl ? null : next(instance.subTree), suspense, namespace, optimized2);
            if (placeholder) remove$1(placeholder);
            updateHOCHostEl(instance, vnode2.el);
            if (isInPendingSuspense && --suspense.deps === 0) suspense.resolve();
          });
        },
        unmount(parentSuspense2, doRemove) {
          suspense.isUnmounted = true;
          if (suspense.activeBranch) unmount(suspense.activeBranch, parentComponent, parentSuspense2, doRemove);
          if (suspense.pendingBranch) unmount(suspense.pendingBranch, parentComponent, parentSuspense2, doRemove);
        }
      };
      return suspense;
    }
    function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {
      const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement("div"), null, namespace, slotScopeIds, optimized, rendererInternals, true);
      const result = hydrateNode(node, suspense.pendingBranch = vnode.ssContent, parentComponent, suspense, slotScopeIds, optimized);
      if (suspense.deps === 0) suspense.resolve(false, true);
      return result;
    }
    function normalizeSuspenseChildren(vnode) {
      const {
        shapeFlag,
        children
      } = vnode;
      const isSlotChildren = shapeFlag & 32;
      vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
      vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);
    }
    function normalizeSuspenseSlot(s) {
      let block;
      if (isFunction(s)) {
        const trackBlock = isBlockTreeEnabled && s._c;
        if (trackBlock) {
          s._d = false;
          openBlock();
        }
        s = s();
        if (trackBlock) {
          s._d = true;
          block = currentBlock;
          closeBlock();
        }
      }
      if (isArray(s)) s = filterSingleRoot(s);
      s = normalizeVNode(s);
      if (block && !s.dynamicChildren) s.dynamicChildren = block.filter(c => c !== s);
      return s;
    }
    function queueEffectWithSuspense(fn, suspense) {
      if (suspense && suspense.pendingBranch) {
        if (isArray(fn)) suspense.effects.push(...fn);else suspense.effects.push(fn);
      } else queuePostFlushCb(fn);
    }
    function setActiveBranch(suspense, branch) {
      suspense.activeBranch = branch;
      const {
        vnode,
        parentComponent
      } = suspense;
      let el = branch.el;
      while (!el && branch.component) {
        branch = branch.component.subTree;
        el = branch.el;
      }
      vnode.el = el;
      if (parentComponent && parentComponent.subTree === vnode) {
        parentComponent.vnode.el = el;
        updateHOCHostEl(parentComponent, el);
      }
    }
    function isVNodeSuspensible(vnode) {
      const suspensible = vnode.props && vnode.props.suspensible;
      return suspensible != null && suspensible !== false;
    }
    function openBlock(disableTracking = false) {
      blockStack.push(currentBlock = disableTracking ? null : []);
    }
    function closeBlock() {
      blockStack.pop();
      currentBlock = blockStack[blockStack.length - 1] || null;
    }
    function setBlockTracking(value, inVOnce = false) {
      isBlockTreeEnabled += value;
      if (value < 0 && currentBlock && inVOnce) currentBlock.hasOnce = true;
    }
    function setupBlock(vnode) {
      vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;
      closeBlock();
      if (isBlockTreeEnabled > 0 && currentBlock) currentBlock.push(vnode);
      return vnode;
    }
    function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
      return setupBlock(createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, true));
    }
    function createBlock(type, props, children, patchFlag, dynamicProps) {
      return setupBlock(createVNode(type, props, children, patchFlag, dynamicProps, true));
    }
    function isVNode(value) {
      return value ? value.__v_isVNode === true : false;
    }
    function isSameVNodeType(n1, n2) {
      return n1.type === n2.type && n1.key === n2.key;
    }
    function transformVNodeArgs(transformer) {}
    function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
      const vnode = {
        __v_isVNode: true,
        __v_skip: true,
        type,
        props,
        key: props && normalizeKey(props),
        ref: props && normalizeRef(props),
        scopeId: currentScopeId,
        slotScopeIds: null,
        children,
        component: null,
        suspense: null,
        ssContent: null,
        ssFallback: null,
        dirs: null,
        transition: null,
        el: null,
        anchor: null,
        target: null,
        targetStart: null,
        targetAnchor: null,
        staticCount: 0,
        shapeFlag,
        patchFlag,
        dynamicProps,
        dynamicChildren: null,
        appContext: null,
        ctx: currentRenderingInstance
      };
      if (needFullChildrenNormalization) {
        normalizeChildren(vnode, children);
        if (shapeFlag & 128) type.normalize(vnode);
      } else if (children) vnode.shapeFlag |= isString(children) ? 8 : 16;
      if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock && (vnode.patchFlag > 0 || shapeFlag & 6) && vnode.patchFlag !== 32) currentBlock.push(vnode);
      return vnode;
    }
    function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
      if (!type || type === NULL_DYNAMIC_COMPONENT) type = Comment;
      if (isVNode(type)) {
        const cloned = cloneVNode(type, props, true);
        if (children) normalizeChildren(cloned, children);
        if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;else currentBlock.push(cloned);
        cloned.patchFlag = -2;
        return cloned;
      }
      if (isClassComponent(type)) type = type.__vccOpts;
      if (props) {
        props = guardReactiveProps(props);
        let {
          class: klass,
          style
        } = props;
        if (klass && !isString(klass)) props.class = normalizeClass(klass);
        if (isObject(style)) {
          if (isProxy(style) && !isArray(style)) style = extend({}, style);
          props.style = normalizeStyle(style);
        }
      }
      const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;
      return createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, isBlockNode, true);
    }
    function guardReactiveProps(props) {
      if (!props) return null;
      return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
    }
    function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
      const {
        props,
        ref: ref$1,
        patchFlag,
        children,
        transition
      } = vnode;
      const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
      const cloned = {
        __v_isVNode: true,
        __v_skip: true,
        type: vnode.type,
        props: mergedProps,
        key: mergedProps && normalizeKey(mergedProps),
        ref: extraProps && extraProps.ref ? mergeRef && ref$1 ? isArray(ref$1) ? ref$1.concat(normalizeRef(extraProps)) : [ref$1, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref$1,
        scopeId: vnode.scopeId,
        slotScopeIds: vnode.slotScopeIds,
        children,
        target: vnode.target,
        targetStart: vnode.targetStart,
        targetAnchor: vnode.targetAnchor,
        staticCount: vnode.staticCount,
        shapeFlag: vnode.shapeFlag,
        patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
        dynamicProps: vnode.dynamicProps,
        dynamicChildren: vnode.dynamicChildren,
        appContext: vnode.appContext,
        dirs: vnode.dirs,
        transition,
        component: vnode.component,
        suspense: vnode.suspense,
        ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
        ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
        el: vnode.el,
        anchor: vnode.anchor,
        ctx: vnode.ctx,
        ce: vnode.ce
      };
      if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
      return cloned;
    }
    function createTextVNode(text = " ", flag = 0) {
      return createVNode(Text, null, text, flag);
    }
    function createStaticVNode(content, numberOfNodes) {
      const vnode = createVNode(Static, null, content);
      vnode.staticCount = numberOfNodes;
      return vnode;
    }
    function createCommentVNode(text = "", asBlock = false) {
      return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
    }
    function normalizeVNode(child) {
      if (child == null || typeof child === "boolean") return createVNode(Comment);else if (isArray(child)) return createVNode(Fragment, null, child.slice());else if (isVNode(child)) return cloneIfMounted(child);else return createVNode(Text, null, String(child));
    }
    function cloneIfMounted(child) {
      return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);
    }
    function normalizeChildren(vnode, children) {
      let type = 0;
      const {
        shapeFlag
      } = vnode;
      if (children == null) children = null;else if (isArray(children)) type = 16;else if (typeof children === "object") {
        if (shapeFlag & 65) {
          const slot = children.default;
          if (slot) {
            slot._c && (slot._d = false);
            normalizeChildren(vnode, slot());
            slot._c && (slot._d = true);
          }
          return;
        } else {
          type = 32;
          const slotFlag = children._;
          if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;else {
            children._ = 2;
            vnode.patchFlag |= 1024;
          }
        }
      } else if (isFunction(children)) {
        children = {
          default: children,
          _ctx: currentRenderingInstance
        };
        type = 32;
      } else {
        children = String(children);
        if (shapeFlag & 64) {
          type = 16;
          children = [createTextVNode(children)];
        } else type = 8;
      }
      vnode.children = children;
      vnode.shapeFlag |= type;
    }
    function mergeProps(...args) {
      const ret = {};
      for (let i = 0; i < args.length; i++) {
        const toMerge = args[i];
        for (const key in toMerge) if (key === "class") {
          if (ret.class !== toMerge.class) ret.class = normalizeClass([ret.class, toMerge.class]);
        } else if (key === "style") ret.style = normalizeStyle([ret.style, toMerge.style]);else if (isOn(key)) {
          const existing = ret[key];
          const incoming = toMerge[key];
          if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) ret[key] = existing ? [].concat(existing, incoming) : incoming;
        } else if (key !== "") ret[key] = toMerge[key];
      }
      return ret;
    }
    function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
      callWithAsyncErrorHandling(hook, instance, 7, [vnode, prevVNode]);
    }
    function createComponentInstance(vnode, parent, suspense) {
      const type = vnode.type;
      const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
      const instance = {
        uid: uid++,
        vnode,
        type,
        parent,
        appContext,
        root: null,
        next: null,
        subTree: null,
        effect: null,
        update: null,
        job: null,
        scope: new EffectScope(true),
        render: null,
        proxy: null,
        exposed: null,
        exposeProxy: null,
        withProxy: null,
        provides: parent ? parent.provides : Object.create(appContext.provides),
        ids: parent ? parent.ids : ["", 0, 0],
        accessCache: null,
        renderCache: [],
        components: null,
        directives: null,
        propsOptions: normalizePropsOptions(type, appContext),
        emitsOptions: normalizeEmitsOptions(type, appContext),
        emit: null,
        emitted: null,
        propsDefaults: EMPTY_OBJ,
        inheritAttrs: type.inheritAttrs,
        ctx: EMPTY_OBJ,
        data: EMPTY_OBJ,
        props: EMPTY_OBJ,
        attrs: EMPTY_OBJ,
        slots: EMPTY_OBJ,
        refs: EMPTY_OBJ,
        setupState: EMPTY_OBJ,
        setupContext: null,
        suspense,
        suspenseId: suspense ? suspense.pendingId : 0,
        asyncDep: null,
        asyncResolved: false,
        isMounted: false,
        isUnmounted: false,
        isDeactivated: false,
        bc: null,
        c: null,
        bm: null,
        m: null,
        bu: null,
        u: null,
        um: null,
        bum: null,
        da: null,
        a: null,
        rtg: null,
        rtc: null,
        ec: null,
        sp: null
      };
      instance.ctx = {
        _: instance
      };
      instance.root = parent ? parent.root : instance;
      instance.emit = emit.bind(null, instance);
      if (vnode.ce) vnode.ce(instance);
      return instance;
    }
    function isStatefulComponent(instance) {
      return instance.vnode.shapeFlag & 4;
    }
    function setupComponent(instance, isSSR = false, optimized = false) {
      isSSR && setInSSRSetupState(isSSR);
      const {
        props,
        children
      } = instance.vnode;
      const isStateful = isStatefulComponent(instance);
      initProps(instance, props, isStateful, isSSR);
      initSlots(instance, children, optimized);
      const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
      isSSR && setInSSRSetupState(false);
      return setupResult;
    }
    function setupStatefulComponent(instance, isSSR) {
      const Component = instance.type;
      instance.accessCache = /* @__PURE__ */Object.create(null);
      instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);
      const {
        setup
      } = Component;
      if (setup) {
        pauseTracking();
        const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
        const reset = setCurrentInstance(instance);
        const setupResult = callWithErrorHandling(setup, instance, 0, [instance.props, setupContext]);
        const isAsyncSetup = isPromise(setupResult);
        resetTracking();
        reset();
        if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) markAsyncBoundary(instance);
        if (isAsyncSetup) {
          setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
          if (isSSR) return setupResult.then(resolvedResult => {
            handleSetupResult(instance, resolvedResult, isSSR);
          }).catch(e => {
            handleError(e, instance, 0);
          });else instance.asyncDep = setupResult;
        } else handleSetupResult(instance, setupResult, isSSR);
      } else finishComponentSetup(instance, isSSR);
    }
    function handleSetupResult(instance, setupResult, isSSR) {
      if (isFunction(setupResult)) {
        if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;else instance.render = setupResult;
      } else if (isObject(setupResult)) instance.setupState = proxyRefs(setupResult);
      finishComponentSetup(instance, isSSR);
    }
    function registerRuntimeCompiler(_compile) {
      compile$1 = _compile;
      installWithProxy = i => {
        if (i.render._rc) i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
      };
    }
    function finishComponentSetup(instance, isSSR, skipOptions) {
      const Component = instance.type;
      if (!instance.render) {
        if (!isSSR && compile$1 && !Component.render) {
          const template = Component.template || resolveMergedOptions(instance).template;
          if (template) {
            const {
              isCustomElement,
              compilerOptions
            } = instance.appContext.config;
            const {
              delimiters,
              compilerOptions: componentCompilerOptions
            } = Component;
            const finalCompilerOptions = extend(extend({
              isCustomElement,
              delimiters
            }, compilerOptions), componentCompilerOptions);
            Component.render = compile$1(template, finalCompilerOptions);
          }
        }
        instance.render = Component.render || NOOP;
        if (installWithProxy) installWithProxy(instance);
      }
      {
        const reset = setCurrentInstance(instance);
        pauseTracking();
        try {
          applyOptions(instance);
        } finally {
          resetTracking();
          reset();
        }
      }
    }
    function createSetupContext(instance) {
      const expose = exposed => {
        instance.exposed = exposed || {};
      };
      return {
        attrs: new Proxy(instance.attrs, attrsProxyHandlers),
        slots: instance.slots,
        emit: instance.emit,
        expose
      };
    }
    function getComponentPublicInstance(instance) {
      if (instance.exposed) return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
        get(target, key) {
          if (key in target) return target[key];else if (key in publicPropertiesMap) return publicPropertiesMap[key](instance);
        },
        has(target, key) {
          return key in target || key in publicPropertiesMap;
        }
      }));else return instance.proxy;
    }
    function getComponentName(Component, includeInferred = true) {
      return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
    }
    function isClassComponent(value) {
      return isFunction(value) && "__vccOpts" in value;
    }
    function h(type, propsOrChildren, children) {
      const l = arguments.length;
      if (l === 2) {
        if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
          if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
          return createVNode(type, propsOrChildren);
        } else return createVNode(type, null, propsOrChildren);
      } else {
        if (l > 3) children = Array.prototype.slice.call(arguments, 2);else if (l === 3 && isVNode(children)) children = [children];
        return createVNode(type, propsOrChildren, children);
      }
    }
    function initCustomFormatter() {
      return;
      function isKeyOfType(Comp, key, type) {
        const opts = Comp[type];
        if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) return true;
        if (Comp.extends && isKeyOfType(Comp.extends, key, type)) return true;
        if (Comp.mixins && Comp.mixins.some(m => isKeyOfType(m, key, type))) return true;
      }
    }
    function withMemo(memo, render$1, cache, index) {
      const cached = cache[index];
      if (cached && isMemoSame(cached, memo)) return cached;
      const ret = render$1();
      ret.memo = memo.slice();
      ret.cacheIndex = index;
      return cache[index] = ret;
    }
    function isMemoSame(cached, memo) {
      const prev = cached.memo;
      if (prev.length != memo.length) return false;
      for (let i = 0; i < prev.length; i++) if (hasChanged(prev[i], memo[i])) return false;
      if (isBlockTreeEnabled > 0 && currentBlock) currentBlock.push(cached);
      return true;
    }
    function resolveTransitionProps(rawProps) {
      const baseProps = {};
      for (const key in rawProps) if (!(key in DOMTransitionPropsValidators)) baseProps[key] = rawProps[key];
      if (rawProps.css === false) return baseProps;
      const {
        name = "v",
        type,
        duration,
        enterFromClass = `${name}-enter-from`,
        enterActiveClass = `${name}-enter-active`,
        enterToClass = `${name}-enter-to`,
        appearFromClass = enterFromClass,
        appearActiveClass = enterActiveClass,
        appearToClass = enterToClass,
        leaveFromClass = `${name}-leave-from`,
        leaveActiveClass = `${name}-leave-active`,
        leaveToClass = `${name}-leave-to`
      } = rawProps;
      const durations = normalizeDuration(duration);
      const enterDuration = durations && durations[0];
      const leaveDuration = durations && durations[1];
      const {
        onBeforeEnter,
        onEnter,
        onEnterCancelled,
        onLeave,
        onLeaveCancelled,
        onBeforeAppear = onBeforeEnter,
        onAppear = onEnter,
        onAppearCancelled = onEnterCancelled
      } = baseProps;
      const finishEnter = (el, isAppear, done, isCancelled) => {
        el._enterCancelled = isCancelled;
        removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
        removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
        done && done();
      };
      const finishLeave = (el, done) => {
        el._isLeaving = false;
        removeTransitionClass(el, leaveFromClass);
        removeTransitionClass(el, leaveToClass);
        removeTransitionClass(el, leaveActiveClass);
        done && done();
      };
      const makeEnterHook = isAppear => {
        return (el, done) => {
          const hook = isAppear ? onAppear : onEnter;
          const resolve$1 = () => finishEnter(el, isAppear, done);
          callHook(hook, [el, resolve$1]);
          nextFrame(() => {
            removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
            addTransitionClass(el, isAppear ? appearToClass : enterToClass);
            if (!hasExplicitCallback(hook)) whenTransitionEnds(el, type, enterDuration, resolve$1);
          });
        };
      };
      return extend(baseProps, {
        onBeforeEnter(el) {
          callHook(onBeforeEnter, [el]);
          addTransitionClass(el, enterFromClass);
          addTransitionClass(el, enterActiveClass);
        },
        onBeforeAppear(el) {
          callHook(onBeforeAppear, [el]);
          addTransitionClass(el, appearFromClass);
          addTransitionClass(el, appearActiveClass);
        },
        onEnter: makeEnterHook(false),
        onAppear: makeEnterHook(true),
        onLeave(el, done) {
          el._isLeaving = true;
          const resolve$1 = () => finishLeave(el, done);
          addTransitionClass(el, leaveFromClass);
          if (!el._enterCancelled) {
            forceReflow();
            addTransitionClass(el, leaveActiveClass);
          } else {
            addTransitionClass(el, leaveActiveClass);
            forceReflow();
          }
          nextFrame(() => {
            if (!el._isLeaving) return;
            removeTransitionClass(el, leaveFromClass);
            addTransitionClass(el, leaveToClass);
            if (!hasExplicitCallback(onLeave)) whenTransitionEnds(el, type, leaveDuration, resolve$1);
          });
          callHook(onLeave, [el, resolve$1]);
        },
        onEnterCancelled(el) {
          finishEnter(el, false, void 0, true);
          callHook(onEnterCancelled, [el]);
        },
        onAppearCancelled(el) {
          finishEnter(el, true, void 0, true);
          callHook(onAppearCancelled, [el]);
        },
        onLeaveCancelled(el) {
          finishLeave(el);
          callHook(onLeaveCancelled, [el]);
        }
      });
    }
    function normalizeDuration(duration) {
      if (duration == null) return null;else if (isObject(duration)) return [NumberOf(duration.enter), NumberOf(duration.leave)];else {
        const n = NumberOf(duration);
        return [n, n];
      }
    }
    function NumberOf(val) {
      return toNumber(val);
    }
    function addTransitionClass(el, cls) {
      cls.split(/\s+/).forEach(c => c && el.classList.add(c));
      (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */new Set())).add(cls);
    }
    function removeTransitionClass(el, cls) {
      cls.split(/\s+/).forEach(c => c && el.classList.remove(c));
      const _vtc = el[vtcKey];
      if (_vtc) {
        _vtc.delete(cls);
        if (!_vtc.size) el[vtcKey] = void 0;
      }
    }
    function nextFrame(cb) {
      requestAnimationFrame(() => {
        requestAnimationFrame(cb);
      });
    }
    function whenTransitionEnds(el, expectedType, explicitTimeout, resolve$1) {
      const id = el._endId = ++endId;
      const resolveIfNotStale = () => {
        if (id === el._endId) resolve$1();
      };
      if (explicitTimeout != null) return setTimeout(resolveIfNotStale, explicitTimeout);
      const {
        type,
        timeout,
        propCount
      } = getTransitionInfo(el, expectedType);
      if (!type) return resolve$1();
      const endEvent = type + "end";
      let ended = 0;
      const end = () => {
        el.removeEventListener(endEvent, onEnd);
        resolveIfNotStale();
      };
      const onEnd = e => {
        if (e.target === el && ++ended >= propCount) end();
      };
      setTimeout(() => {
        if (ended < propCount) end();
      }, timeout + 1);
      el.addEventListener(endEvent, onEnd);
    }
    function getTransitionInfo(el, expectedType) {
      const styles = window.getComputedStyle(el);
      const getStyleProperties = key => (styles[key] || "").split(", ");
      const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
      const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
      const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
      const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
      const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
      const animationTimeout = getTimeout(animationDelays, animationDurations);
      let type = null;
      let timeout = 0;
      let propCount = 0;
      if (expectedType === TRANSITION) {
        if (transitionTimeout > 0) {
          type = TRANSITION;
          timeout = transitionTimeout;
          propCount = transitionDurations.length;
        }
      } else if (expectedType === ANIMATION) {
        if (animationTimeout > 0) {
          type = ANIMATION;
          timeout = animationTimeout;
          propCount = animationDurations.length;
        }
      } else {
        timeout = Math.max(transitionTimeout, animationTimeout);
        type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
        propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
      }
      const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(getStyleProperties(`${TRANSITION}Property`).toString());
      return {
        type,
        timeout,
        propCount,
        hasTransform
      };
    }
    function getTimeout(delays, durations) {
      while (delays.length < durations.length) delays = delays.concat(delays);
      return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
    }
    function toMs(s) {
      if (s === "auto") return 0;
      return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
    }
    function forceReflow() {
      return document.body.offsetHeight;
    }
    function patchClass(el, value, isSVG) {
      const transitionClasses = el[vtcKey];
      if (transitionClasses) value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
      if (value == null) el.removeAttribute("class");else if (isSVG) el.setAttribute("class", value);else el.className = value;
    }
    function setDisplay(el, value) {
      el.style.display = value ? el[vShowOriginalDisplay] : "none";
      el[vShowHidden] = !value;
    }
    function initVShowForSSR() {
      vShow.getSSRProps = ({
        value
      }) => {
        if (!value) return {
          style: {
            display: "none"
          }
        };
      };
    }
    function useCssVars(getter) {
      const instance = getCurrentInstance();
      if (!instance) return;
      const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {
        Array.from(document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)).forEach(node => setVarsOnNode(node, vars));
      };
      const setVars = () => {
        const vars = getter(instance.proxy);
        if (instance.ce) setVarsOnNode(instance.ce, vars);else setVarsOnVNode(instance.subTree, vars);
        updateTeleports(vars);
      };
      onBeforeUpdate(() => {
        queuePostFlushCb(setVars);
      });
      onMounted(() => {
        watch(setVars, NOOP, {
          flush: "post"
        });
        const ob = new MutationObserver(setVars);
        ob.observe(instance.subTree.el.parentNode, {
          childList: true
        });
        onUnmounted(() => ob.disconnect());
      });
    }
    function setVarsOnVNode(vnode, vars) {
      if (vnode.shapeFlag & 128) {
        const suspense = vnode.suspense;
        vnode = suspense.activeBranch;
        if (suspense.pendingBranch && !suspense.isHydrating) suspense.effects.push(() => {
          setVarsOnVNode(suspense.activeBranch, vars);
        });
      }
      while (vnode.component) vnode = vnode.component.subTree;
      if (vnode.shapeFlag & 1 && vnode.el) setVarsOnNode(vnode.el, vars);else if (vnode.type === Fragment) vnode.children.forEach(c => setVarsOnVNode(c, vars));else if (vnode.type === Static) {
        let {
          el,
          anchor
        } = vnode;
        while (el) {
          setVarsOnNode(el, vars);
          if (el === anchor) break;
          el = el.nextSibling;
        }
      }
    }
    function setVarsOnNode(el, vars) {
      if (el.nodeType === 1) {
        const style = el.style;
        let cssText = "";
        for (const key in vars) {
          style.setProperty(`--${key}`, vars[key]);
          cssText += `--${key}: ${vars[key]};`;
        }
        style[CSS_VAR_TEXT] = cssText;
      }
    }
    function patchStyle(el, prev, next) {
      const style = el.style;
      const isCssString = isString(next);
      let hasControlledDisplay = false;
      if (next && !isCssString) {
        if (prev) if (!isString(prev)) {
          for (const key in prev) if (next[key] == null) setStyle(style, key, "");
        } else for (const prevStyle of prev.split(";")) {
          const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
          if (next[key] == null) setStyle(style, key, "");
        }
        for (const key in next) {
          if (key === "display") hasControlledDisplay = true;
          setStyle(style, key, next[key]);
        }
      } else if (isCssString) {
        if (prev !== next) {
          const cssVarText = style[CSS_VAR_TEXT];
          if (cssVarText) next += ";" + cssVarText;
          style.cssText = next;
          hasControlledDisplay = displayRE.test(next);
        }
      } else if (prev) el.removeAttribute("style");
      if (vShowOriginalDisplay in el) {
        el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
        if (el[vShowHidden]) style.display = "none";
      }
    }
    function setStyle(style, name, val) {
      if (isArray(val)) val.forEach(v => setStyle(style, name, v));else {
        if (val == null) val = "";
        if (name.startsWith("--")) style.setProperty(name, val);else {
          const prefixed = autoPrefix(style, name);
          if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");else style[prefixed] = val;
        }
      }
    }
    function autoPrefix(style, rawName) {
      const cached = prefixCache[rawName];
      if (cached) return cached;
      let name = camelize(rawName);
      if (name !== "filter" && name in style) return prefixCache[rawName] = name;
      name = capitalize(name);
      for (let i = 0; i < prefixes.length; i++) {
        const prefixed = prefixes[i] + name;
        if (prefixed in style) return prefixCache[rawName] = prefixed;
      }
      return rawName;
    }
    function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
      if (isSVG && key.startsWith("xlink:")) {
        if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));else el.setAttributeNS(xlinkNS, key, value);
      } else if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
    }
    function patchDOMProp(el, key, value, parentComponent, attrName) {
      if (key === "innerHTML" || key === "textContent") {
        if (value != null) el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value) : value;
        return;
      }
      const tag = el.tagName;
      if (key === "value" && tag !== "PROGRESS" && !tag.includes("-")) {
        const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
        const newValue = value == null ? el.type === "checkbox" ? "on" : "" : String(value);
        if (oldValue !== newValue || !("_value" in el)) el.value = newValue;
        if (value == null) el.removeAttribute(key);
        el._value = value;
        return;
      }
      let needRemove = false;
      if (value === "" || value == null) {
        const type = typeof el[key];
        if (type === "boolean") value = includeBooleanAttr(value);else if (value == null && type === "string") {
          value = "";
          needRemove = true;
        } else if (type === "number") {
          value = 0;
          needRemove = true;
        }
      }
      try {
        el[key] = value;
      } catch (e) {}
      needRemove && el.removeAttribute(attrName || key);
    }
    function addEventListener(el, event, handler, options) {
      el.addEventListener(event, handler, options);
    }
    function removeEventListener(el, event, handler, options) {
      el.removeEventListener(event, handler, options);
    }
    function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
      const invokers = el[veiKey] || (el[veiKey] = {});
      const existingInvoker = invokers[rawName];
      if (nextValue && existingInvoker) existingInvoker.value = nextValue;else {
        const [name, options] = parseName(rawName);
        if (nextValue) addEventListener(el, name, invokers[rawName] = createInvoker(nextValue, instance), options);else if (existingInvoker) {
          removeEventListener(el, name, existingInvoker, options);
          invokers[rawName] = void 0;
        }
      }
    }
    function parseName(name) {
      let options;
      if (optionsModifierRE.test(name)) {
        options = {};
        let m;
        while (m = name.match(optionsModifierRE)) {
          name = name.slice(0, name.length - m[0].length);
          options[m[0].toLowerCase()] = true;
        }
      }
      return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
    }
    function createInvoker(initialValue, instance) {
      const invoker = e => {
        if (!e._vts) e._vts = Date.now();else if (e._vts <= invoker.attached) return;
        callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5, [e]);
      };
      invoker.value = initialValue;
      invoker.attached = getNow();
      return invoker;
    }
    function patchStopImmediatePropagation(e, value) {
      if (isArray(value)) {
        const originalStop = e.stopImmediatePropagation;
        e.stopImmediatePropagation = () => {
          originalStop.call(e);
          e._stopped = true;
        };
        return value.map(fn => e2 => !e2._stopped && fn && fn(e2));
      } else return value;
    }
    function shouldSetAsProp(el, key, value, isSVG) {
      if (isSVG) {
        if (key === "innerHTML" || key === "textContent") return true;
        if (key in el && isNativeOn(key) && isFunction(value)) return true;
        return false;
      }
      if (key === "spellcheck" || key === "draggable" || key === "translate") return false;
      if (key === "form") return false;
      if (key === "list" && el.tagName === "INPUT") return false;
      if (key === "type" && el.tagName === "TEXTAREA") return false;
      if (key === "width" || key === "height") {
        const tag = el.tagName;
        if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") return false;
      }
      if (isNativeOn(key) && isString(value)) return false;
      return key in el;
    }
    /*! #__NO_SIDE_EFFECTS__ */
    /* @__NO_SIDE_EFFECTS__ */
    function defineCustomElement(options, extraOptions, _createApp) {
      const Comp = defineComponent(options, extraOptions);
      if (isPlainObject(Comp)) extend(Comp, extraOptions);
      class VueCustomElement extends VueElement {
        constructor(initialProps) {
          super(Comp, initialProps, _createApp);
        }
      }
      VueCustomElement.def = Comp;
      return VueCustomElement;
    }
    function useHost(caller) {
      const instance = getCurrentInstance();
      const el = instance && instance.ce;
      if (el) return el;
      return null;
    }
    function useShadowRoot() {
      const el = useHost();
      return el && el.shadowRoot;
    }
    function useCssModule(name = "$style") {
      {
        const instance = getCurrentInstance();
        if (!instance) return EMPTY_OBJ;
        const modules = instance.type.__cssModules;
        if (!modules) return EMPTY_OBJ;
        const mod = modules[name];
        if (!mod) return EMPTY_OBJ;
        return mod;
      }
    }
    function callPendingCbs(c) {
      const el = c.el;
      if (el[moveCbKey]) el[moveCbKey]();
      if (el[enterCbKey]) el[enterCbKey]();
    }
    function recordPosition(c) {
      newPositionMap.set(c, c.el.getBoundingClientRect());
    }
    function applyTranslation(c) {
      const oldPos = positionMap.get(c);
      const newPos = newPositionMap.get(c);
      const dx = oldPos.left - newPos.left;
      const dy = oldPos.top - newPos.top;
      if (dx || dy) {
        const s = c.el.style;
        s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
        s.transitionDuration = "0s";
        return c;
      }
    }
    function hasCSSTransform(el, root, moveClass) {
      const clone = el.cloneNode();
      const _vtc = el[vtcKey];
      if (_vtc) _vtc.forEach(cls => {
        cls.split(/\s+/).forEach(c => c && clone.classList.remove(c));
      });
      moveClass.split(/\s+/).forEach(c => c && clone.classList.add(c));
      clone.style.display = "none";
      const container = root.nodeType === 1 ? root : root.parentNode;
      container.appendChild(clone);
      const {
        hasTransform
      } = getTransitionInfo(clone);
      container.removeChild(clone);
      return hasTransform;
    }
    function onCompositionStart(e) {
      e.target.composing = true;
    }
    function onCompositionEnd(e) {
      const target = e.target;
      if (target.composing) {
        target.composing = false;
        target.dispatchEvent(new Event("input"));
      }
    }
    function setChecked(el, {
      value,
      oldValue
    }, vnode) {
      el._modelValue = value;
      let checked;
      if (isArray(value)) checked = looseIndexOf(value, vnode.props.value) > -1;else if (isSet(value)) checked = value.has(vnode.props.value);else {
        if (value === oldValue) return;
        checked = looseEqual(value, getCheckboxValue(el, true));
      }
      if (el.checked !== checked) el.checked = checked;
    }
    function setSelected(el, value) {
      const isMultiple = el.multiple;
      const isArrayValue = isArray(value);
      if (isMultiple && !isArrayValue && !isSet(value)) return;
      for (let i = 0, l = el.options.length; i < l; i++) {
        const option = el.options[i];
        const optionValue = getValue(option);
        if (isMultiple) {
          if (isArrayValue) {
            const optionType = typeof optionValue;
            if (optionType === "string" || optionType === "number") option.selected = value.some(v => String(v) === String(optionValue));else option.selected = looseIndexOf(value, optionValue) > -1;
          } else option.selected = value.has(optionValue);
        } else if (looseEqual(getValue(option), value)) {
          if (el.selectedIndex !== i) el.selectedIndex = i;
          return;
        }
      }
      if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
    }
    function getValue(el) {
      return "_value" in el ? el._value : el.value;
    }
    function getCheckboxValue(el, checked) {
      const key = checked ? "_trueValue" : "_falseValue";
      return key in el ? el[key] : checked;
    }
    function resolveDynamicModel(tagName, type) {
      switch (tagName) {
        case "SELECT":
          return vModelSelect;
        case "TEXTAREA":
          return vModelText;
        default:
          switch (type) {
            case "checkbox":
              return vModelCheckbox;
            case "radio":
              return vModelRadio;
            default:
              return vModelText;
          }
      }
    }
    function callModelHook(el, binding, vnode, prevVNode, hook) {
      const fn = resolveDynamicModel(el.tagName, vnode.props && vnode.props.type)[hook];
      fn && fn(el, binding, vnode, prevVNode);
    }
    function initVModelForSSR() {
      vModelText.getSSRProps = ({
        value
      }) => ({
        value
      });
      vModelRadio.getSSRProps = ({
        value
      }, vnode) => {
        if (vnode.props && looseEqual(vnode.props.value, value)) return {
          checked: true
        };
      };
      vModelCheckbox.getSSRProps = ({
        value
      }, vnode) => {
        if (isArray(value)) {
          if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) return {
            checked: true
          };
        } else if (isSet(value)) {
          if (vnode.props && value.has(vnode.props.value)) return {
            checked: true
          };
        } else if (value) return {
          checked: true
        };
      };
      vModelDynamic.getSSRProps = (binding, vnode) => {
        if (typeof vnode.type !== "string") return;
        const modelToUse = resolveDynamicModel(vnode.type.toUpperCase(), vnode.props && vnode.props.type);
        if (modelToUse.getSSRProps) return modelToUse.getSSRProps(binding, vnode);
      };
    }
    function ensureRenderer() {
      return renderer || (renderer = createRenderer(rendererOptions));
    }
    function ensureHydrationRenderer() {
      renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);
      enabledHydration = true;
      return renderer;
    }
    function resolveRootNamespace(container) {
      if (container instanceof SVGElement) return "svg";
      if (typeof MathMLElement === "function" && container instanceof MathMLElement) return "mathml";
    }
    function normalizeContainer(container) {
      if (isString(container)) return document.querySelector(container);
      return container;
    }
    _export({
      A: createStaticVNode,
      At: isReactive,
      B: isMemoSame,
      Bt: toRaw,
      D: createElementBlock,
      Dt: getCurrentScope,
      E: createCommentVNode,
      Et: effectScope,
      Ft: readonly,
      G: nextTick,
      Gt: unref,
      H: mergeDefaults,
      Ht: toRefs,
      I: guardReactiveProps,
      It: ref,
      K: onActivated,
      L: h,
      Lt: shallowReactive,
      Mt: markRaw,
      N: defineAsyncComponent,
      Nt: onScopeDispose,
      O: createPropsRestProxy,
      P: defineComponent,
      Pt: reactive,
      Qt: generateCodeFrame,
      R: hasInjectionContext,
      Rt: shallowReadonly,
      S: cloneVNode,
      St: withMemo,
      T: createBlock,
      Tt: customRef,
      U: mergeModels,
      Ut: toValue,
      V: isVNode,
      Vt: toRef,
      W: mergeProps,
      Wt: triggerRef,
      X: onErrorCaptured,
      Y: onDeactivated,
      _n: makeMap,
      _t: watch,
      at: renderSlot,
      bn: normalizeStyle,
      bt: withCtx,
      c: useCssModule,
      ct: resolveDynamicComponent,
      dt: useId,
      et: openBlock,
      ft: useModel,
      it: renderList,
      j: createTextVNode,
      jt: isRef,
      k: createSlots,
      kt: isProxy,
      l: useCssVars,
      lt: toHandlers,
      mt: useTemplateRef,
      nt: provide,
      ot: resolveComponent,
      pt: useSlots,
      rt: pushScopeId,
      st: resolveDirective,
      tt: popScopeId,
      ut: useAttrs,
      vn: normalizeClass,
      vt: watchEffect,
      w: createBaseVNode,
      wt: computed,
      xn: parseStringStyle,
      xt: withDirectives,
      yn: normalizeProps,
      yt: watchPostEffect,
      z: inject,
      zt: shallowRef,
      En: void 0,
      Kt: void 0,
      Jt: void 0,
      qt: void 0,
      ln: void 0,
      Zt: void 0,
      $t: void 0,
      nn: void 0,
      in: void 0,
      an: void 0,
      mn: void 0,
      hn: void 0,
      cn: void 0,
      dn: void 0,
      Tn: void 0,
      un: void 0,
      fn: void 0,
      rn: void 0,
      Yt: void 0,
      en: void 0,
      Xt: void 0,
      wn: void 0,
      on: void 0,
      pn: void 0,
      sn: void 0,
      gn: void 0,
      Cn: void 0,
      Ct: void 0,
      b: void 0,
      v: void 0,
      q: void 0,
      Z: void 0,
      $: void 0,
      J: void 0,
      Q: void 0,
      y: void 0,
      _: void 0,
      x: void 0,
      g: void 0,
      M: void 0,
      F: void 0,
      C: void 0,
      ht: void 0,
      gt: void 0,
      n: void 0,
      p: void 0,
      r: void 0,
      f: void 0,
      u: void 0,
      d: void 0,
      h: void 0,
      m: void 0,
      o: void 0,
      i: void 0
    });
    return {
      setters: [function (_chunkLegacy001Js) {
        __esm = _chunkLegacy001Js.n;
        __export = _chunkLegacy001Js.r;
      }],
      execute: function () {
        //#region ../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.24.0_rolldown-vite@7.1.16_@types+node@20.19.21_esbuild@0.2_86160ce2579410c2574f22fd74619205/node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js
        _export("Dn", init_dist = __esm({
          "../../../node_modules/.pnpm/vite-plugin-node-polyfills@0.24.0_rolldown-vite@7.1.16_@types+node@20.19.21_esbuild@0.2_86160ce2579410c2574f22fd74619205/node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js": () => {
            _export("En", global = globalThis || self);
          }
        })); //#endregion
        //#region ../../../node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js
        _export("Sn", shared_esm_bundler_exports = /* @__PURE__ */__export({
          EMPTY_ARR: () => EMPTY_ARR,
          EMPTY_OBJ: () => EMPTY_OBJ,
          NO: () => NO,
          NOOP: () => NOOP,
          PatchFlagNames: () => PatchFlagNames,
          PatchFlags: () => PatchFlags,
          ShapeFlags: () => ShapeFlags,
          SlotFlags: () => SlotFlags,
          camelize: () => camelize,
          capitalize: () => capitalize,
          cssVarNameEscapeSymbolsRE: () => cssVarNameEscapeSymbolsRE,
          def: () => def,
          escapeHtml: () => escapeHtml,
          escapeHtmlComment: () => escapeHtmlComment,
          extend: () => extend,
          genCacheKey: () => genCacheKey,
          genPropsAccessExp: () => genPropsAccessExp,
          generateCodeFrame: () => generateCodeFrame,
          getEscapedCssVarName: () => getEscapedCssVarName,
          getGlobalThis: () => getGlobalThis,
          hasChanged: () => hasChanged,
          hasOwn: () => hasOwn,
          hyphenate: () => hyphenate,
          includeBooleanAttr: () => includeBooleanAttr,
          invokeArrayFns: () => invokeArrayFns,
          isArray: () => isArray,
          isBooleanAttr: () => isBooleanAttr,
          isBuiltInDirective: () => isBuiltInDirective,
          isDate: () => isDate,
          isFunction: () => isFunction,
          isGloballyAllowed: () => isGloballyAllowed,
          isGloballyWhitelisted: () => isGloballyWhitelisted,
          isHTMLTag: () => isHTMLTag,
          isIntegerKey: () => isIntegerKey,
          isKnownHtmlAttr: () => isKnownHtmlAttr,
          isKnownMathMLAttr: () => isKnownMathMLAttr,
          isKnownSvgAttr: () => isKnownSvgAttr,
          isMap: () => isMap,
          isMathMLTag: () => isMathMLTag,
          isModelListener: () => isModelListener,
          isObject: () => isObject,
          isOn: () => isOn,
          isPlainObject: () => isPlainObject,
          isPromise: () => isPromise,
          isRegExp: () => isRegExp,
          isRenderableAttrValue: () => isRenderableAttrValue,
          isReservedProp: () => isReservedProp,
          isSSRSafeAttrName: () => isSSRSafeAttrName,
          isSVGTag: () => isSVGTag,
          isSet: () => isSet,
          isSpecialBooleanAttr: () => isSpecialBooleanAttr,
          isString: () => isString,
          isSymbol: () => isSymbol,
          isVoidTag: () => isVoidTag,
          looseEqual: () => looseEqual,
          looseIndexOf: () => looseIndexOf,
          looseToNumber: () => looseToNumber,
          makeMap: () => makeMap,
          normalizeClass: () => normalizeClass,
          normalizeProps: () => normalizeProps,
          normalizeStyle: () => normalizeStyle,
          objectToString: () => objectToString,
          parseStringStyle: () => parseStringStyle,
          propsToAttrMap: () => propsToAttrMap,
          remove: () => remove,
          slotFlagsText: () => slotFlagsText,
          stringifyStyle: () => stringifyStyle,
          toDisplayString: () => toDisplayString,
          toHandlerKey: () => toHandlerKey,
          toNumber: () => toNumber,
          toRawType: () => toRawType,
          toTypeString: () => toTypeString
        }));
        _export("tn", init_shared_esm_bundler = __esm({
          "../../../node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js": () => {
            init_dist();
            _export("Kt", EMPTY_OBJ = {});
            EMPTY_ARR = [];
            _export("Jt", NOOP = () => {});
            _export("qt", NO = () => false);
            _export("ln", isOn = key => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97));
            isModelListener = key => key.startsWith("onUpdate:");
            _export("Zt", extend = Object.assign);
            remove = (arr, el) => {
              const i = arr.indexOf(el);
              if (i > -1) arr.splice(i, 1);
            };
            hasOwnProperty$1 = Object.prototype.hasOwnProperty;
            _export("$t", hasOwn = (val, key) => hasOwnProperty$1.call(val, key));
            _export("nn", isArray = Array.isArray);
            isMap = val => toTypeString(val) === "[object Map]";
            isSet = val => toTypeString(val) === "[object Set]";
            _export("in", isDate = val => toTypeString(val) === "[object Date]");
            isRegExp = val => toTypeString(val) === "[object RegExp]";
            _export("an", isFunction = val => typeof val === "function");
            _export("mn", isString = val => typeof val === "string");
            _export("hn", isSymbol = val => typeof val === "symbol");
            _export("cn", isObject = val => val !== null && typeof val === "object");
            _export("dn", isPromise = val => {
              return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
            });
            objectToString = Object.prototype.toString;
            toTypeString = value => objectToString.call(value);
            _export("Tn", toRawType = value => {
              return toTypeString(value).slice(8, -1);
            });
            _export("un", isPlainObject = val => toTypeString(val) === "[object Object]");
            isIntegerKey = key => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
            _export("fn", isReservedProp = /* @__PURE__ */makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"));
            _export("rn", isBuiltInDirective = /* @__PURE__ */makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"));
            cacheStringFunction = fn => {
              const cache = /* @__PURE__ */Object.create(null);
              return str => {
                return cache[str] || (cache[str] = fn(str));
              };
            };
            camelizeRE = /-(\w)/g;
            _export("Yt", camelize = cacheStringFunction(str => {
              return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
            }));
            hyphenateRE = /\B([A-Z])/g;
            _export("en", hyphenate = cacheStringFunction(str => str.replace(hyphenateRE, "-$1").toLowerCase()));
            _export("Xt", capitalize = cacheStringFunction(str => {
              return str.charAt(0).toUpperCase() + str.slice(1);
            }));
            _export("wn", toHandlerKey = cacheStringFunction(str => {
              return str ? `on${capitalize(str)}` : ``;
            }));
            hasChanged = (value, oldValue) => !Object.is(value, oldValue);
            invokeArrayFns = (fns, ...arg) => {
              for (let i = 0; i < fns.length; i++) fns[i](...arg);
            };
            def = (obj, key, value, writable = false) => {
              Object.defineProperty(obj, key, {
                configurable: true,
                enumerable: false,
                writable,
                value
              });
            };
            looseToNumber = val => {
              const n = parseFloat(val);
              return isNaN(n) ? val : n;
            };
            toNumber = val => {
              const n = isString(val) ? Number(val) : NaN;
              return isNaN(n) ? val : n;
            };
            ;
            getGlobalThis = () => {
              return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
            };
            identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;
            PatchFlags = {
              "TEXT": 1,
              "1": "TEXT",
              "CLASS": 2,
              "2": "CLASS",
              "STYLE": 4,
              "4": "STYLE",
              "PROPS": 8,
              "8": "PROPS",
              "FULL_PROPS": 16,
              "16": "FULL_PROPS",
              "NEED_HYDRATION": 32,
              "32": "NEED_HYDRATION",
              "STABLE_FRAGMENT": 64,
              "64": "STABLE_FRAGMENT",
              "KEYED_FRAGMENT": 128,
              "128": "KEYED_FRAGMENT",
              "UNKEYED_FRAGMENT": 256,
              "256": "UNKEYED_FRAGMENT",
              "NEED_PATCH": 512,
              "512": "NEED_PATCH",
              "DYNAMIC_SLOTS": 1024,
              "1024": "DYNAMIC_SLOTS",
              "DEV_ROOT_FRAGMENT": 2048,
              "2048": "DEV_ROOT_FRAGMENT",
              "CACHED": -1,
              "-1": "CACHED",
              "BAIL": -2,
              "-2": "BAIL"
            };
            PatchFlagNames = {
              [1]: `TEXT`,
              [2]: `CLASS`,
              [4]: `STYLE`,
              [8]: `PROPS`,
              [16]: `FULL_PROPS`,
              [32]: `NEED_HYDRATION`,
              [64]: `STABLE_FRAGMENT`,
              [128]: `KEYED_FRAGMENT`,
              [256]: `UNKEYED_FRAGMENT`,
              [512]: `NEED_PATCH`,
              [1024]: `DYNAMIC_SLOTS`,
              [2048]: `DEV_ROOT_FRAGMENT`,
              [-1]: `HOISTED`,
              [-2]: `BAIL`
            };
            ShapeFlags = {
              "ELEMENT": 1,
              "1": "ELEMENT",
              "FUNCTIONAL_COMPONENT": 2,
              "2": "FUNCTIONAL_COMPONENT",
              "STATEFUL_COMPONENT": 4,
              "4": "STATEFUL_COMPONENT",
              "TEXT_CHILDREN": 8,
              "8": "TEXT_CHILDREN",
              "ARRAY_CHILDREN": 16,
              "16": "ARRAY_CHILDREN",
              "SLOTS_CHILDREN": 32,
              "32": "SLOTS_CHILDREN",
              "TELEPORT": 64,
              "64": "TELEPORT",
              "SUSPENSE": 128,
              "128": "SUSPENSE",
              "COMPONENT_SHOULD_KEEP_ALIVE": 256,
              "256": "COMPONENT_SHOULD_KEEP_ALIVE",
              "COMPONENT_KEPT_ALIVE": 512,
              "512": "COMPONENT_KEPT_ALIVE",
              "COMPONENT": 6,
              "6": "COMPONENT"
            };
            SlotFlags = {
              "STABLE": 1,
              "1": "STABLE",
              "DYNAMIC": 2,
              "2": "DYNAMIC",
              "FORWARDED": 3,
              "3": "FORWARDED"
            };
            slotFlagsText = {
              [1]: "STABLE",
              [2]: "DYNAMIC",
              [3]: "FORWARDED"
            };
            isGloballyAllowed = /* @__PURE__ */makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
            isGloballyWhitelisted = isGloballyAllowed;
            range = 2;
            listDelimiterRE = /;(?![^(]*\))/g;
            propertyDelimiterRE = /:([^]+)/;
            styleCommentRE = /\/\*[^]*?\*\//g;
            HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
            SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
            MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics";
            VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
            _export("on", isHTMLTag = /* @__PURE__ */makeMap(HTML_TAGS));
            _export("pn", isSVGTag = /* @__PURE__ */makeMap(SVG_TAGS));
            _export("sn", isMathMLTag = /* @__PURE__ */makeMap(MATH_TAGS));
            _export("gn", isVoidTag = /* @__PURE__ */makeMap(VOID_TAGS));
            specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
            isSpecialBooleanAttr = /* @__PURE__ */makeMap(specialBooleanAttrs);
            isBooleanAttr = /* @__PURE__ */makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
            unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
            attrValidationCache = {};
            propsToAttrMap = {
              acceptCharset: "accept-charset",
              className: "class",
              htmlFor: "for",
              httpEquiv: "http-equiv"
            };
            isKnownHtmlAttr = /* @__PURE__ */makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`);
            isKnownSvgAttr = /* @__PURE__ */makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`);
            isKnownMathMLAttr = /* @__PURE__ */makeMap(`accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`);
            escapeRE = /["'&<>]/;
            commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
            cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;
            isRef$1 = val => {
              return !!(val && val["__v_isRef"] === true);
            };
            _export("Cn", toDisplayString = val => {
              return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef$1(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);
            });
            replacer = (_key, val) => {
              if (isRef$1(val)) return replacer(_key, val.value);else if (isMap(val)) return {
                [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2], i) => {
                  entries[stringifySymbol(key, i) + " =>"] = val2;
                  return entries;
                }, {})
              };else if (isSet(val)) return {
                [`Set(${val.size})`]: [...val.values()].map(v => stringifySymbol(v))
              };else if (isSymbol(val)) return stringifySymbol(val);else if (isObject(val) && !isArray(val) && !isPlainObject(val)) return String(val);
              return val;
            };
            stringifySymbol = (v, i = "") => {
              var _a;
              return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
            };
          }
        }));
        _export("Ot", init_reactivity_esm_bundler = __esm({
          "../../../node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js": () => {
            init_shared_esm_bundler();
            ;
            EffectScope = class {
              constructor(detached = false) {
                this.detached = detached;
                /**
                * @internal
                */
                this._active = true;
                /**
                * @internal
                */
                this.effects = [];
                /**
                * @internal
                */
                this.cleanups = [];
                this._isPaused = false;
                this.parent = activeEffectScope;
                if (!detached && activeEffectScope) this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
              }
              get active() {
                return this._active;
              }
              pause() {
                if (this._active) {
                  this._isPaused = true;
                  let i, l;
                  if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].pause();
                  for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].pause();
                }
              }
              /**
              * Resumes the effect scope, including all child scopes and effects.
              */
              resume() {
                if (this._active) {
                  if (this._isPaused) {
                    this._isPaused = false;
                    let i, l;
                    if (this.scopes) for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].resume();
                    for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].resume();
                  }
                }
              }
              run(fn) {
                if (this._active) {
                  const currentEffectScope = activeEffectScope;
                  try {
                    activeEffectScope = this;
                    return fn();
                  } finally {
                    activeEffectScope = currentEffectScope;
                  }
                }
              }
              /**
              * This should only be called on non-detached scopes
              * @internal
              */
              on() {
                activeEffectScope = this;
              }
              /**
              * This should only be called on non-detached scopes
              * @internal
              */
              off() {
                activeEffectScope = this.parent;
              }
              stop(fromParent) {
                if (this._active) {
                  this._active = false;
                  let i, l;
                  for (i = 0, l = this.effects.length; i < l; i++) this.effects[i].stop();
                  this.effects.length = 0;
                  for (i = 0, l = this.cleanups.length; i < l; i++) this.cleanups[i]();
                  this.cleanups.length = 0;
                  if (this.scopes) {
                    for (i = 0, l = this.scopes.length; i < l; i++) this.scopes[i].stop(true);
                    this.scopes.length = 0;
                  }
                  if (!this.detached && this.parent && !fromParent) {
                    const last = this.parent.scopes.pop();
                    if (last && last !== this) {
                      this.parent.scopes[this.index] = last;
                      last.index = this.index;
                    }
                  }
                  this.parent = void 0;
                }
              }
            };
            ;
            pausedQueueEffects = /* @__PURE__ */new WeakSet();
            ReactiveEffect = class {
              constructor(fn) {
                this.fn = fn;
                /**
                * @internal
                */
                this.deps = void 0;
                /**
                * @internal
                */
                this.depsTail = void 0;
                /**
                * @internal
                */
                this.flags = 5;
                /**
                * @internal
                */
                this.next = void 0;
                /**
                * @internal
                */
                this.cleanup = void 0;
                this.scheduler = void 0;
                if (activeEffectScope && activeEffectScope.active) activeEffectScope.effects.push(this);
              }
              pause() {
                this.flags |= 64;
              }
              resume() {
                if (this.flags & 64) {
                  this.flags &= -65;
                  if (pausedQueueEffects.has(this)) {
                    pausedQueueEffects.delete(this);
                    this.trigger();
                  }
                }
              }
              /**
              * @internal
              */
              notify() {
                if (this.flags & 2 && !(this.flags & 32)) return;
                if (!(this.flags & 8)) batch(this);
              }
              run() {
                if (!(this.flags & 1)) return this.fn();
                this.flags |= 2;
                cleanupEffect(this);
                prepareDeps(this);
                const prevEffect = activeSub;
                const prevShouldTrack = shouldTrack;
                activeSub = this;
                shouldTrack = true;
                try {
                  return this.fn();
                } finally {
                  cleanupDeps(this);
                  activeSub = prevEffect;
                  shouldTrack = prevShouldTrack;
                  this.flags &= -3;
                }
              }
              stop() {
                if (this.flags & 1) {
                  for (let link = this.deps; link; link = link.nextDep) removeSub(link);
                  this.deps = this.depsTail = void 0;
                  cleanupEffect(this);
                  this.onStop && this.onStop();
                  this.flags &= -2;
                }
              }
              trigger() {
                if (this.flags & 64) pausedQueueEffects.add(this);else if (this.scheduler) this.scheduler();else this.runIfDirty();
              }
              /**
              * @internal
              */
              runIfDirty() {
                if (isDirty(this)) this.run();
              }
              get dirty() {
                return isDirty(this);
              }
            };
            batchDepth = 0;
            ;
            ;
            shouldTrack = true;
            trackStack = [];
            globalVersion = 0;
            Link = class {
              constructor(sub, dep) {
                this.sub = sub;
                this.dep = dep;
                this.version = dep.version;
                this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
              }
            };
            Dep = class {
              constructor(computed$2) {
                this.computed = computed$2;
                this.version = 0;
                /**
                * Link between this dep and the current active effect
                */
                this.activeLink = void 0;
                /**
                * Doubly linked list representing the subscribing effects (tail)
                */
                this.subs = void 0;
                /**
                * For object property deps cleanup
                */
                this.map = void 0;
                this.key = void 0;
                /**
                * Subscriber counter
                */
                this.sc = 0;
              }
              track(debugInfo) {
                if (!activeSub || !shouldTrack || activeSub === this.computed) return;
                let link = this.activeLink;
                if (link === void 0 || link.sub !== activeSub) {
                  link = this.activeLink = new Link(activeSub, this);
                  if (!activeSub.deps) activeSub.deps = activeSub.depsTail = link;else {
                    link.prevDep = activeSub.depsTail;
                    activeSub.depsTail.nextDep = link;
                    activeSub.depsTail = link;
                  }
                  addSub(link);
                } else if (link.version === -1) {
                  link.version = this.version;
                  if (link.nextDep) {
                    const next = link.nextDep;
                    next.prevDep = link.prevDep;
                    if (link.prevDep) link.prevDep.nextDep = next;
                    link.prevDep = activeSub.depsTail;
                    link.nextDep = void 0;
                    activeSub.depsTail.nextDep = link;
                    activeSub.depsTail = link;
                    if (activeSub.deps === link) activeSub.deps = next;
                  }
                }
                return link;
              }
              trigger(debugInfo) {
                this.version++;
                globalVersion++;
                this.notify(debugInfo);
              }
              notify(debugInfo) {
                startBatch();
                try {
                  for (let link = this.subs; link; link = link.prevSub) if (link.sub.notify()) link.sub.dep.notify();
                } finally {
                  endBatch();
                }
              }
            };
            targetMap = /* @__PURE__ */new WeakMap();
            ITERATE_KEY = Symbol("");
            MAP_KEY_ITERATE_KEY = Symbol("");
            ARRAY_ITERATE_KEY = Symbol("");
            arrayInstrumentations = {
              __proto__: null,
              [Symbol.iterator]() {
                return iterator(this, Symbol.iterator, toReactive);
              },
              concat(...args) {
                return reactiveReadArray(this).concat(...args.map(x => isArray(x) ? reactiveReadArray(x) : x));
              },
              entries() {
                return iterator(this, "entries", value => {
                  value[1] = toReactive(value[1]);
                  return value;
                });
              },
              every(fn, thisArg) {
                return apply(this, "every", fn, thisArg, void 0, arguments);
              },
              filter(fn, thisArg) {
                return apply(this, "filter", fn, thisArg, v => v.map(toReactive), arguments);
              },
              find(fn, thisArg) {
                return apply(this, "find", fn, thisArg, toReactive, arguments);
              },
              findIndex(fn, thisArg) {
                return apply(this, "findIndex", fn, thisArg, void 0, arguments);
              },
              findLast(fn, thisArg) {
                return apply(this, "findLast", fn, thisArg, toReactive, arguments);
              },
              findLastIndex(fn, thisArg) {
                return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
              },
              forEach(fn, thisArg) {
                return apply(this, "forEach", fn, thisArg, void 0, arguments);
              },
              includes(...args) {
                return searchProxy(this, "includes", args);
              },
              indexOf(...args) {
                return searchProxy(this, "indexOf", args);
              },
              join(separator) {
                return reactiveReadArray(this).join(separator);
              },
              lastIndexOf(...args) {
                return searchProxy(this, "lastIndexOf", args);
              },
              map(fn, thisArg) {
                return apply(this, "map", fn, thisArg, void 0, arguments);
              },
              pop() {
                return noTracking(this, "pop");
              },
              push(...args) {
                return noTracking(this, "push", args);
              },
              reduce(fn, ...args) {
                return reduce(this, "reduce", fn, args);
              },
              reduceRight(fn, ...args) {
                return reduce(this, "reduceRight", fn, args);
              },
              shift() {
                return noTracking(this, "shift");
              },
              some(fn, thisArg) {
                return apply(this, "some", fn, thisArg, void 0, arguments);
              },
              splice(...args) {
                return noTracking(this, "splice", args);
              },
              toReversed() {
                return reactiveReadArray(this).toReversed();
              },
              toSorted(comparer) {
                return reactiveReadArray(this).toSorted(comparer);
              },
              toSpliced(...args) {
                return reactiveReadArray(this).toSpliced(...args);
              },
              unshift(...args) {
                return noTracking(this, "unshift", args);
              },
              values() {
                return iterator(this, "values", toReactive);
              }
            };
            arrayProto = Array.prototype;
            isNonTrackableKeys = /* @__PURE__ */makeMap(`__proto__,__v_isRef,__isVue`);
            builtInSymbols = new Set(/* @__PURE__ */Object.getOwnPropertyNames(Symbol).filter(key => key !== "arguments" && key !== "caller").map(key => Symbol[key]).filter(isSymbol));
            BaseReactiveHandler = class {
              constructor(_isReadonly = false, _isShallow = false) {
                this._isReadonly = _isReadonly;
                this._isShallow = _isShallow;
              }
              get(target, key, receiver) {
                if (key === "__v_skip") return target["__v_skip"];
                const isReadonly2 = this._isReadonly,
                  isShallow2 = this._isShallow;
                if (key === "__v_isReactive") return !isReadonly2;else if (key === "__v_isReadonly") return isReadonly2;else if (key === "__v_isShallow") return isShallow2;else if (key === "__v_raw") {
                  if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) return target;
                  return;
                }
                const targetIsArray = isArray(target);
                if (!isReadonly2) {
                  let fn;
                  if (targetIsArray && (fn = arrayInstrumentations[key])) return fn;
                  if (key === "hasOwnProperty") return hasOwnProperty;
                }
                const res = Reflect.get(target, key, isRef(target) ? target : receiver);
                if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) return res;
                if (!isReadonly2) track(target, "get", key);
                if (isShallow2) return res;
                if (isRef(res)) return targetIsArray && isIntegerKey(key) ? res : res.value;
                if (isObject(res)) return isReadonly2 ? readonly(res) : reactive(res);
                return res;
              }
            };
            MutableReactiveHandler = class extends BaseReactiveHandler {
              constructor(isShallow2 = false) {
                super(false, isShallow2);
              }
              set(target, key, value, receiver) {
                let oldValue = target[key];
                if (!this._isShallow) {
                  const isOldValueReadonly = isReadonly(oldValue);
                  if (!isShallow(value) && !isReadonly(value)) {
                    oldValue = toRaw(oldValue);
                    value = toRaw(value);
                  }
                  if (!isArray(target) && isRef(oldValue) && !isRef(value)) if (isOldValueReadonly) return false;else {
                    oldValue.value = value;
                    return true;
                  }
                }
                const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);
                const result = Reflect.set(target, key, value, isRef(target) ? target : receiver);
                if (target === toRaw(receiver)) {
                  if (!hadKey) trigger(target, "add", key, value);else if (hasChanged(value, oldValue)) trigger(target, "set", key, value, oldValue);
                }
                return result;
              }
              deleteProperty(target, key) {
                const hadKey = hasOwn(target, key);
                const oldValue = target[key];
                const result = Reflect.deleteProperty(target, key);
                if (result && hadKey) trigger(target, "delete", key, void 0, oldValue);
                return result;
              }
              has(target, key) {
                const result = Reflect.has(target, key);
                if (!isSymbol(key) || !builtInSymbols.has(key)) track(target, "has", key);
                return result;
              }
              ownKeys(target) {
                track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
                return Reflect.ownKeys(target);
              }
            };
            ReadonlyReactiveHandler = class extends BaseReactiveHandler {
              constructor(isShallow2 = false) {
                super(true, isShallow2);
              }
              set(target, key) {
                return true;
              }
              deleteProperty(target, key) {
                return true;
              }
            };
            mutableHandlers = /* @__PURE__ */new MutableReactiveHandler();
            readonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler();
            shallowReactiveHandlers = /* @__PURE__ */new MutableReactiveHandler(true);
            shallowReadonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler(true);
            toShallow = value => value;
            getProto = v => Reflect.getPrototypeOf(v);
            mutableCollectionHandlers = {
              get: /* @__PURE__ */createInstrumentationGetter(false, false)
            };
            shallowCollectionHandlers = {
              get: /* @__PURE__ */createInstrumentationGetter(false, true)
            };
            readonlyCollectionHandlers = {
              get: /* @__PURE__ */createInstrumentationGetter(true, false)
            };
            shallowReadonlyCollectionHandlers = {
              get: /* @__PURE__ */createInstrumentationGetter(true, true)
            };
            reactiveMap = /* @__PURE__ */new WeakMap();
            shallowReactiveMap = /* @__PURE__ */new WeakMap();
            readonlyMap = /* @__PURE__ */new WeakMap();
            shallowReadonlyMap = /* @__PURE__ */new WeakMap();
            toReactive = value => isObject(value) ? reactive(value) : value;
            toReadonly = value => isObject(value) ? readonly(value) : value;
            RefImpl = class {
              constructor(value, isShallow2) {
                this.dep = new Dep();
                this["__v_isRef"] = true;
                this["__v_isShallow"] = false;
                this._rawValue = isShallow2 ? value : toRaw(value);
                this._value = isShallow2 ? value : toReactive(value);
                this["__v_isShallow"] = isShallow2;
              }
              get value() {
                this.dep.track();
                return this._value;
              }
              set value(newValue) {
                const oldValue = this._rawValue;
                const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue);
                newValue = useDirectValue ? newValue : toRaw(newValue);
                if (hasChanged(newValue, oldValue)) {
                  this._rawValue = newValue;
                  this._value = useDirectValue ? newValue : toReactive(newValue);
                  this.dep.trigger();
                }
              }
            };
            shallowUnwrapHandlers = {
              get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)),
              set: (target, key, value, receiver) => {
                const oldValue = target[key];
                if (isRef(oldValue) && !isRef(value)) {
                  oldValue.value = value;
                  return true;
                } else return Reflect.set(target, key, value, receiver);
              }
            };
            CustomRefImpl = class {
              constructor(factory) {
                this["__v_isRef"] = true;
                this._value = void 0;
                const dep = this.dep = new Dep();
                const {
                  get,
                  set
                } = factory(dep.track.bind(dep), dep.trigger.bind(dep));
                this._get = get;
                this._set = set;
              }
              get value() {
                return this._value = this._get();
              }
              set value(newVal) {
                this._set(newVal);
              }
            };
            ObjectRefImpl = class {
              constructor(_object, _key, _defaultValue) {
                this._object = _object;
                this._key = _key;
                this._defaultValue = _defaultValue;
                this["__v_isRef"] = true;
                this._value = void 0;
              }
              get value() {
                const val = this._object[this._key];
                return this._value = val === void 0 ? this._defaultValue : val;
              }
              set value(newVal) {
                this._object[this._key] = newVal;
              }
              get dep() {
                return getDepFromReactive(toRaw(this._object), this._key);
              }
            };
            GetterRefImpl = class {
              constructor(_getter) {
                this._getter = _getter;
                this["__v_isRef"] = true;
                this["__v_isReadonly"] = true;
                this._value = void 0;
              }
              get value() {
                return this._value = this._getter();
              }
            };
            ComputedRefImpl = class {
              constructor(fn, setter, isSSR) {
                this.fn = fn;
                this.setter = setter;
                /**
                * @internal
                */
                this._value = void 0;
                /**
                * @internal
                */
                this.dep = new Dep(this);
                /**
                * @internal
                */
                this.__v_isRef = true;
                /**
                * @internal
                */
                this.deps = void 0;
                /**
                * @internal
                */
                this.depsTail = void 0;
                /**
                * @internal
                */
                this.flags = 16;
                /**
                * @internal
                */
                this.globalVersion = globalVersion - 1;
                /**
                * @internal
                */
                this.next = void 0;
                this.effect = this;
                this["__v_isReadonly"] = !setter;
                this.isSSR = isSSR;
              }
              /**
              * @internal
              */
              notify() {
                this.flags |= 16;
                if (!(this.flags & 8) && activeSub !== this) {
                  batch(this, true);
                  return true;
                }
              }
              get value() {
                const link = this.dep.track();
                refreshComputed(this);
                if (link) link.version = this.dep.version;
                return this._value;
              }
              set value(newValue) {
                if (this.setter) this.setter(newValue);
              }
            };
            TrackOpTypes = {
              "GET": "get",
              "HAS": "has",
              "ITERATE": "iterate"
            };
            TriggerOpTypes = {
              "SET": "set",
              "ADD": "add",
              "DELETE": "delete",
              "CLEAR": "clear"
            };
            INITIAL_WATCHER_VALUE = {};
            cleanupMap = /* @__PURE__ */new WeakMap();
            activeWatcher = void 0;
          }
        }));
        init_runtime_core_esm_bundler = __esm({
          "../../../node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js": () => {
            init_reactivity_esm_bundler();
            init_shared_esm_bundler();
            stack = [];
            ErrorCodes = {
              "SETUP_FUNCTION": 0,
              "0": "SETUP_FUNCTION",
              "RENDER_FUNCTION": 1,
              "1": "RENDER_FUNCTION",
              "NATIVE_EVENT_HANDLER": 5,
              "5": "NATIVE_EVENT_HANDLER",
              "COMPONENT_EVENT_HANDLER": 6,
              "6": "COMPONENT_EVENT_HANDLER",
              "VNODE_HOOK": 7,
              "7": "VNODE_HOOK",
              "DIRECTIVE_HOOK": 8,
              "8": "DIRECTIVE_HOOK",
              "TRANSITION_HOOK": 9,
              "9": "TRANSITION_HOOK",
              "APP_ERROR_HANDLER": 10,
              "10": "APP_ERROR_HANDLER",
              "APP_WARN_HANDLER": 11,
              "11": "APP_WARN_HANDLER",
              "FUNCTION_REF": 12,
              "12": "FUNCTION_REF",
              "ASYNC_COMPONENT_LOADER": 13,
              "13": "ASYNC_COMPONENT_LOADER",
              "SCHEDULER": 14,
              "14": "SCHEDULER",
              "COMPONENT_UPDATE": 15,
              "15": "COMPONENT_UPDATE",
              "APP_UNMOUNT_CLEANUP": 16,
              "16": "APP_UNMOUNT_CLEANUP"
            };
            ErrorTypeStrings$1 = {
              ["sp"]: "serverPrefetch hook",
              ["bc"]: "beforeCreate hook",
              ["c"]: "created hook",
              ["bm"]: "beforeMount hook",
              ["m"]: "mounted hook",
              ["bu"]: "beforeUpdate hook",
              ["u"]: "updated",
              ["bum"]: "beforeUnmount hook",
              ["um"]: "unmounted hook",
              ["a"]: "activated hook",
              ["da"]: "deactivated hook",
              ["ec"]: "errorCaptured hook",
              ["rtc"]: "renderTracked hook",
              ["rtg"]: "renderTriggered hook",
              [0]: "setup function",
              [1]: "render function",
              [2]: "watcher getter",
              [3]: "watcher callback",
              [4]: "watcher cleanup function",
              [5]: "native event handler",
              [6]: "component event handler",
              [7]: "vnode hook",
              [8]: "directive hook",
              [9]: "transition hook",
              [10]: "app errorHandler",
              [11]: "app warnHandler",
              [12]: "ref function",
              [13]: "async component loader",
              [14]: "scheduler flush",
              [15]: "component update",
              [16]: "app unmount cleanup function"
            };
            queue = [];
            flushIndex = -1;
            pendingPostFlushCbs = [];
            activePostFlushCbs = null;
            postFlushIndex = 0;
            resolvedPromise = /* @__PURE__ */Promise.resolve();
            currentFlushPromise = null;
            getId = job => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
            ;
            buffer = [];
            currentRenderingInstance = null;
            currentScopeId = null;
            _export("Ct", withScopeId = _id => withCtx);
            TeleportEndKey = Symbol("_vte");
            isTeleport = type => type.__isTeleport;
            isTeleportDisabled = props => props && (props.disabled || props.disabled === "");
            isTeleportDeferred = props => props && (props.defer || props.defer === "");
            isTargetSVG = target => typeof SVGElement !== "undefined" && target instanceof SVGElement;
            isTargetMathML = target => typeof MathMLElement === "function" && target instanceof MathMLElement;
            resolveTarget = (props, select) => {
              const targetSelector = props && props.to;
              if (isString(targetSelector)) {
                if (!select) return null;else return select(targetSelector);
              } else return targetSelector;
            };
            TeleportImpl = {
              name: "Teleport",
              __isTeleport: true,
              process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {
                const {
                  mc: mountChildren,
                  pc: patchChildren,
                  pbc: patchBlockChildren,
                  o: {
                    insert,
                    querySelector,
                    createText,
                    createComment
                  }
                } = internals;
                const disabled = isTeleportDisabled(n2.props);
                let {
                  shapeFlag,
                  children,
                  dynamicChildren
                } = n2;
                if (n1 == null) {
                  const placeholder = n2.el = createText("");
                  const mainAnchor = n2.anchor = createText("");
                  insert(placeholder, container, anchor);
                  insert(mainAnchor, container, anchor);
                  const mount = (container2, anchor2) => {
                    if (shapeFlag & 16) {
                      if (parentComponent && parentComponent.isCE) parentComponent.ce._teleportTarget = container2;
                      mountChildren(children, container2, anchor2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
                    }
                  };
                  const mountToTarget = () => {
                    const target = n2.target = resolveTarget(n2.props, querySelector);
                    const targetAnchor = prepareAnchor(target, n2, createText, insert);
                    if (target) {
                      if (namespace !== "svg" && isTargetSVG(target)) namespace = "svg";else if (namespace !== "mathml" && isTargetMathML(target)) namespace = "mathml";
                      if (!disabled) {
                        mount(target, targetAnchor);
                        updateCssVars(n2, false);
                      }
                    }
                  };
                  if (disabled) {
                    mount(container, mainAnchor);
                    updateCssVars(n2, true);
                  }
                  if (isTeleportDeferred(n2.props)) queuePostRenderEffect(() => {
                    mountToTarget();
                    n2.el.__isMounted = true;
                  }, parentSuspense);else mountToTarget();
                } else {
                  if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
                    queuePostRenderEffect(() => {
                      TeleportImpl.process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals);
                      delete n1.el.__isMounted;
                    }, parentSuspense);
                    return;
                  }
                  n2.el = n1.el;
                  n2.targetStart = n1.targetStart;
                  const mainAnchor = n2.anchor = n1.anchor;
                  const target = n2.target = n1.target;
                  const targetAnchor = n2.targetAnchor = n1.targetAnchor;
                  const wasDisabled = isTeleportDisabled(n1.props);
                  const currentContainer = wasDisabled ? container : target;
                  const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
                  if (namespace === "svg" || isTargetSVG(target)) namespace = "svg";else if (namespace === "mathml" || isTargetMathML(target)) namespace = "mathml";
                  if (dynamicChildren) {
                    patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, namespace, slotScopeIds);
                    traverseStaticChildren(n1, n2, true);
                  } else if (!optimized) patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, false);
                  if (disabled) {
                    if (!wasDisabled) moveTeleport(n2, container, mainAnchor, internals, 1);else if (n2.props && n1.props && n2.props.to !== n1.props.to) n2.props.to = n1.props.to;
                  } else if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
                    const nextTarget = n2.target = resolveTarget(n2.props, querySelector);
                    if (nextTarget) moveTeleport(n2, nextTarget, null, internals, 0);
                  } else if (wasDisabled) moveTeleport(n2, target, targetAnchor, internals, 1);
                  updateCssVars(n2, disabled);
                }
              },
              remove(vnode, parentComponent, parentSuspense, {
                um: unmount,
                o: {
                  remove: hostRemove
                }
              }, doRemove) {
                const {
                  shapeFlag,
                  children,
                  anchor,
                  targetStart,
                  targetAnchor,
                  target,
                  props
                } = vnode;
                if (target) {
                  hostRemove(targetStart);
                  hostRemove(targetAnchor);
                }
                doRemove && hostRemove(anchor);
                if (shapeFlag & 16) {
                  const shouldRemove = doRemove || !isTeleportDisabled(props);
                  for (let i = 0; i < children.length; i++) {
                    const child = children[i];
                    unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren);
                  }
                }
              },
              move: moveTeleport,
              hydrate: hydrateTeleport
            };
            _export("b", Teleport = TeleportImpl);
            leaveCbKey = Symbol("_leaveCb");
            enterCbKey$1 = Symbol("_enterCb");
            TransitionHookValidator = [Function, Array];
            BaseTransitionPropsValidators = {
              mode: String,
              appear: Boolean,
              persisted: Boolean,
              onBeforeEnter: TransitionHookValidator,
              onEnter: TransitionHookValidator,
              onAfterEnter: TransitionHookValidator,
              onEnterCancelled: TransitionHookValidator,
              onBeforeLeave: TransitionHookValidator,
              onLeave: TransitionHookValidator,
              onAfterLeave: TransitionHookValidator,
              onLeaveCancelled: TransitionHookValidator,
              onBeforeAppear: TransitionHookValidator,
              onAppear: TransitionHookValidator,
              onAfterAppear: TransitionHookValidator,
              onAppearCancelled: TransitionHookValidator
            };
            recursiveGetSubtree = instance => {
              const subTree = instance.subTree;
              return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
            };
            BaseTransitionImpl = {
              name: `BaseTransition`,
              props: BaseTransitionPropsValidators,
              setup(props, {
                slots
              }) {
                const instance = getCurrentInstance();
                const state = useTransitionState();
                return () => {
                  const children = slots.default && getTransitionRawChildren(slots.default(), true);
                  if (!children || !children.length) return;
                  const child = findNonCommentChild(children);
                  const rawProps = toRaw(props);
                  const {
                    mode
                  } = rawProps;
                  if (state.isLeaving) return emptyPlaceholder(child);
                  const innerChild = getInnerChild$1(child);
                  if (!innerChild) return emptyPlaceholder(child);
                  let enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance, hooks => enterHooks = hooks);
                  if (innerChild.type !== Comment) setTransitionHooks(innerChild, enterHooks);
                  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
                  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
                    let leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);
                    setTransitionHooks(oldInnerChild, leavingHooks);
                    if (mode === "out-in" && innerChild.type !== Comment) {
                      state.isLeaving = true;
                      leavingHooks.afterLeave = () => {
                        state.isLeaving = false;
                        if (!(instance.job.flags & 8)) instance.update();
                        delete leavingHooks.afterLeave;
                        oldInnerChild = void 0;
                      };
                      return emptyPlaceholder(child);
                    } else if (mode === "in-out" && innerChild.type !== Comment) leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
                      const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);
                      leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
                      el[leaveCbKey] = () => {
                        earlyRemove();
                        el[leaveCbKey] = void 0;
                        delete enterHooks.delayedLeave;
                        oldInnerChild = void 0;
                      };
                      enterHooks.delayedLeave = () => {
                        delayedLeave();
                        delete enterHooks.delayedLeave;
                        oldInnerChild = void 0;
                      };
                    };else oldInnerChild = void 0;
                  } else if (oldInnerChild) oldInnerChild = void 0;
                  return child;
                };
              }
            };
            BaseTransition = BaseTransitionImpl;
            hasLoggedMismatchError = false;
            logMismatchError = () => {
              if (hasLoggedMismatchError) return;
              console.error("Hydration completed but contains mismatches.");
              hasLoggedMismatchError = true;
            };
            isSVGContainer = container => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
            isMathMLContainer = container => container.namespaceURI.includes("MathML");
            getContainerType = container => {
              if (container.nodeType !== 1) return void 0;
              if (isSVGContainer(container)) return "svg";
              if (isMathMLContainer(container)) return "mathml";
            };
            isComment = node => node.nodeType === 8;
            allowMismatchAttr = "data-allow-mismatch";
            MismatchTypeString = {
              [0]: "text",
              [1]: "children",
              [2]: "class",
              [3]: "style",
              [4]: "attribute"
            };
            requestIdleCallback = getGlobalThis().requestIdleCallback || (cb => setTimeout(cb, 1));
            cancelIdleCallback = getGlobalThis().cancelIdleCallback || (id => clearTimeout(id));
            hydrateOnIdle = (timeout = 1e4) => hydrate$1 => {
              const id = requestIdleCallback(hydrate$1, {
                timeout
              });
              return () => cancelIdleCallback(id);
            };
            hydrateOnVisible = opts => (hydrate$1, forEach) => {
              const ob = new IntersectionObserver(entries => {
                for (const e of entries) {
                  if (!e.isIntersecting) continue;
                  ob.disconnect();
                  hydrate$1();
                  break;
                }
              }, opts);
              forEach(el => {
                if (!(el instanceof Element)) return;
                if (elementIsVisibleInViewport(el)) {
                  hydrate$1();
                  ob.disconnect();
                  return false;
                }
                ob.observe(el);
              });
              return () => ob.disconnect();
            };
            hydrateOnMediaQuery = query => hydrate$1 => {
              if (query) {
                const mql = matchMedia(query);
                if (mql.matches) hydrate$1();else {
                  mql.addEventListener("change", hydrate$1, {
                    once: true
                  });
                  return () => mql.removeEventListener("change", hydrate$1);
                }
              }
            };
            hydrateOnInteraction = (interactions = []) => (hydrate$1, forEach) => {
              if (isString(interactions)) interactions = [interactions];
              let hasHydrated = false;
              const doHydrate = e => {
                if (!hasHydrated) {
                  hasHydrated = true;
                  teardown();
                  hydrate$1();
                  e.target.dispatchEvent(new e.constructor(e.type, e));
                }
              };
              const teardown = () => {
                forEach(el => {
                  for (const i of interactions) el.removeEventListener(i, doHydrate);
                });
              };
              forEach(el => {
                for (const i of interactions) el.addEventListener(i, doHydrate, {
                  once: true
                });
              });
              return teardown;
            };
            isAsyncWrapper = i => !!i.type.__asyncLoader;
            isKeepAlive = vnode => vnode.type.__isKeepAlive;
            _export("v", KeepAlive = {
              name: `KeepAlive`,
              __isKeepAlive: true,
              props: {
                include: [String, RegExp, Array],
                exclude: [String, RegExp, Array],
                max: [String, Number]
              },
              setup(props, {
                slots
              }) {
                const instance = getCurrentInstance();
                const sharedContext = instance.ctx;
                if (!sharedContext.renderer) return () => {
                  const children = slots.default && slots.default();
                  return children && children.length === 1 ? children[0] : children;
                };
                const cache = /* @__PURE__ */new Map();
                const keys = /* @__PURE__ */new Set();
                let current = null;
                const parentSuspense = instance.suspense;
                const {
                  renderer: {
                    p: patch,
                    m: move,
                    um: _unmount,
                    o: {
                      createElement
                    }
                  }
                } = sharedContext;
                const storageContainer = createElement("div");
                sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {
                  const instance2 = vnode.component;
                  move(vnode, container, anchor, 0, parentSuspense);
                  patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, namespace, vnode.slotScopeIds, optimized);
                  queuePostRenderEffect(() => {
                    instance2.isDeactivated = false;
                    if (instance2.a) invokeArrayFns(instance2.a);
                    const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
                    if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode);
                  }, parentSuspense);
                };
                sharedContext.deactivate = vnode => {
                  const instance2 = vnode.component;
                  invalidateMount(instance2.m);
                  invalidateMount(instance2.a);
                  move(vnode, storageContainer, null, 1, parentSuspense);
                  queuePostRenderEffect(() => {
                    if (instance2.da) invokeArrayFns(instance2.da);
                    const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
                    if (vnodeHook) invokeVNodeHook(vnodeHook, instance2.parent, vnode);
                    instance2.isDeactivated = true;
                  }, parentSuspense);
                };
                function unmount(vnode) {
                  resetShapeFlag(vnode);
                  _unmount(vnode, instance, parentSuspense, true);
                }
                function pruneCache(filter) {
                  cache.forEach((vnode, key) => {
                    const name = getComponentName(vnode.type);
                    if (name && !filter(name)) pruneCacheEntry(key);
                  });
                }
                function pruneCacheEntry(key) {
                  const cached = cache.get(key);
                  if (cached && (!current || !isSameVNodeType(cached, current))) unmount(cached);else if (current) resetShapeFlag(current);
                  cache.delete(key);
                  keys.delete(key);
                }
                watch(() => [props.include, props.exclude], ([include, exclude]) => {
                  include && pruneCache(name => matches(include, name));
                  exclude && pruneCache(name => !matches(exclude, name));
                }, {
                  flush: "post",
                  deep: true
                });
                let pendingCacheKey = null;
                const cacheSubtree = () => {
                  if (pendingCacheKey != null) if (isSuspense(instance.subTree.type)) queuePostRenderEffect(() => {
                    cache.set(pendingCacheKey, getInnerChild(instance.subTree));
                  }, instance.subTree.suspense);else cache.set(pendingCacheKey, getInnerChild(instance.subTree));
                };
                onMounted(cacheSubtree);
                onUpdated(cacheSubtree);
                onBeforeUnmount(() => {
                  cache.forEach(cached => {
                    const {
                      subTree,
                      suspense
                    } = instance;
                    const vnode = getInnerChild(subTree);
                    if (cached.type === vnode.type && cached.key === vnode.key) {
                      resetShapeFlag(vnode);
                      const da = vnode.component.da;
                      da && queuePostRenderEffect(da, suspense);
                      return;
                    }
                    unmount(cached);
                  });
                });
                return () => {
                  pendingCacheKey = null;
                  if (!slots.default) return current = null;
                  const children = slots.default();
                  const rawVNode = children[0];
                  if (children.length > 1) {
                    current = null;
                    return children;
                  } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {
                    current = null;
                    return rawVNode;
                  }
                  let vnode = getInnerChild(rawVNode);
                  if (vnode.type === Comment) {
                    current = null;
                    return vnode;
                  }
                  const comp = vnode.type;
                  const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp);
                  const {
                    include,
                    exclude,
                    max
                  } = props;
                  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
                    vnode.shapeFlag &= -257;
                    current = vnode;
                    return rawVNode;
                  }
                  const key = vnode.key == null ? comp : vnode.key;
                  const cachedVNode = cache.get(key);
                  if (vnode.el) {
                    vnode = cloneVNode(vnode);
                    if (rawVNode.shapeFlag & 128) rawVNode.ssContent = vnode;
                  }
                  pendingCacheKey = key;
                  if (cachedVNode) {
                    vnode.el = cachedVNode.el;
                    vnode.component = cachedVNode.component;
                    if (vnode.transition) setTransitionHooks(vnode, vnode.transition);
                    vnode.shapeFlag |= 512;
                    keys.delete(key);
                    keys.add(key);
                  } else {
                    keys.add(key);
                    if (max && keys.size > parseInt(max, 10)) pruneCacheEntry(keys.values().next().value);
                  }
                  vnode.shapeFlag |= 256;
                  current = vnode;
                  return isSuspense(rawVNode.type) ? rawVNode : vnode;
                };
              }
            });
            createHook = lifecycle => (hook, target = currentInstance) => {
              if (!isInSSRComponentSetup || lifecycle === "sp") injectHook(lifecycle, (...args) => hook(...args), target);
            };
            _export("q", onBeforeMount = createHook("bm"));
            _export("Z", onMounted = createHook("m"));
            onBeforeUpdate = createHook("bu");
            _export("$", onUpdated = createHook("u"));
            _export("J", onBeforeUnmount = createHook("bum"));
            _export("Q", onUnmounted = createHook("um"));
            onServerPrefetch = createHook("sp");
            onRenderTriggered = createHook("rtg");
            onRenderTracked = createHook("rtc");
            COMPONENTS = "components";
            DIRECTIVES = "directives";
            NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
            getPublicInstance = i => {
              if (!i) return null;
              if (isStatefulComponent(i)) return getComponentPublicInstance(i);
              return getPublicInstance(i.parent);
            };
            publicPropertiesMap = /* @__PURE__ */extend(/* @__PURE__ */Object.create(null), {
              $: i => i,
              $el: i => i.vnode.el,
              $data: i => i.data,
              $props: i => i.props,
              $attrs: i => i.attrs,
              $slots: i => i.slots,
              $refs: i => i.refs,
              $parent: i => getPublicInstance(i.parent),
              $root: i => getPublicInstance(i.root),
              $host: i => i.ce,
              $emit: i => i.emit,
              $options: i => resolveMergedOptions(i),
              $forceUpdate: i => i.f || (i.f = () => {
                queueJob(i.update);
              }),
              $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy)),
              $watch: i => instanceWatch.bind(i)
            });
            hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);
            PublicInstanceProxyHandlers = {
              get({
                _: instance
              }, key) {
                if (key === "__v_skip") return true;
                const {
                  ctx,
                  setupState,
                  data,
                  props,
                  accessCache,
                  type,
                  appContext
                } = instance;
                let normalizedProps;
                if (key[0] !== "$") {
                  const n = accessCache[key];
                  if (n !== void 0) switch (n) {
                    case 1:
                      return setupState[key];
                    case 2:
                      return data[key];
                    case 4:
                      return ctx[key];
                    case 3:
                      return props[key];
                  } else if (hasSetupBinding(setupState, key)) {
                    accessCache[key] = 1;
                    return setupState[key];
                  } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
                    accessCache[key] = 2;
                    return data[key];
                  } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)) {
                    accessCache[key] = 3;
                    return props[key];
                  } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
                    accessCache[key] = 4;
                    return ctx[key];
                  } else if (shouldCacheAccess) accessCache[key] = 0;
                }
                const publicGetter = publicPropertiesMap[key];
                let cssModule, globalProperties;
                if (publicGetter) {
                  if (key === "$attrs") track(instance.attrs, "get", "");
                  return publicGetter(instance);
                } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) return cssModule;else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
                  accessCache[key] = 4;
                  return ctx[key];
                } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) return globalProperties[key];
              },
              set({
                _: instance
              }, key, value) {
                const {
                  data,
                  setupState,
                  ctx
                } = instance;
                if (hasSetupBinding(setupState, key)) {
                  setupState[key] = value;
                  return true;
                } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
                  data[key] = value;
                  return true;
                } else if (hasOwn(instance.props, key)) return false;
                if (key[0] === "$" && key.slice(1) in instance) return false;else ctx[key] = value;
                return true;
              },
              has({
                _: {
                  data,
                  setupState,
                  accessCache,
                  ctx,
                  appContext,
                  propsOptions
                }
              }, key) {
                let normalizedProps;
                return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
              },
              defineProperty(target, key, descriptor) {
                if (descriptor.get != null) target._.accessCache[key] = 0;else if (hasOwn(descriptor, "value")) this.set(target, key, descriptor.value, null);
                return Reflect.defineProperty(target, key, descriptor);
              }
            };
            RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */extend({}, PublicInstanceProxyHandlers, {
              get(target, key) {
                if (key === Symbol.unscopables) return;
                return PublicInstanceProxyHandlers.get(target, key, target);
              },
              has(_, key) {
                return key[0] !== "_" && !isGloballyAllowed(key);
              }
            });
            shouldCacheAccess = true;
            internalOptionMergeStrats = {
              data: mergeDataFn,
              props: mergeEmitsOrPropsOptions,
              emits: mergeEmitsOrPropsOptions,
              methods: mergeObjectOptions,
              computed: mergeObjectOptions,
              beforeCreate: mergeAsArray,
              created: mergeAsArray,
              beforeMount: mergeAsArray,
              mounted: mergeAsArray,
              beforeUpdate: mergeAsArray,
              updated: mergeAsArray,
              beforeDestroy: mergeAsArray,
              beforeUnmount: mergeAsArray,
              destroyed: mergeAsArray,
              unmounted: mergeAsArray,
              activated: mergeAsArray,
              deactivated: mergeAsArray,
              errorCaptured: mergeAsArray,
              serverPrefetch: mergeAsArray,
              components: mergeObjectOptions,
              directives: mergeObjectOptions,
              watch: mergeWatchOptions,
              provide: mergeDataFn,
              inject: mergeInject
            };
            uid$1 = 0;
            currentApp = null;
            internalObjectProto = {};
            createInternalObject = () => Object.create(internalObjectProto);
            isInternalObject = obj => Object.getPrototypeOf(obj) === internalObjectProto;
            mixinPropsCache = /* @__PURE__ */new WeakMap();
            isInternalKey = key => key[0] === "_" || key === "$stable";
            normalizeSlotValue = value => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
            normalizeSlot = (key, rawSlot, ctx) => {
              if (rawSlot._n) return rawSlot;
              const normalized = withCtx((...args) => {
                return normalizeSlotValue(rawSlot(...args));
              }, ctx);
              normalized._c = false;
              return normalized;
            };
            normalizeObjectSlots = (rawSlots, slots, instance) => {
              const ctx = rawSlots._ctx;
              for (const key in rawSlots) {
                if (isInternalKey(key)) continue;
                const value = rawSlots[key];
                if (isFunction(value)) slots[key] = normalizeSlot(key, value, ctx);else if (value != null) {
                  const normalized = normalizeSlotValue(value);
                  slots[key] = () => normalized;
                }
              }
            };
            normalizeVNodeSlots = (instance, children) => {
              const normalized = normalizeSlotValue(children);
              instance.slots.default = () => normalized;
            };
            assignSlots = (slots, children, optimized) => {
              for (const key in children) if (optimized || key !== "_") slots[key] = children[key];
            };
            initSlots = (instance, children, optimized) => {
              const slots = instance.slots = createInternalObject();
              if (instance.vnode.shapeFlag & 32) {
                const type = children._;
                if (type) {
                  assignSlots(slots, children, optimized);
                  if (optimized) def(slots, "_", type, true);
                } else normalizeObjectSlots(children, slots);
              } else if (children) normalizeVNodeSlots(instance, children);
            };
            updateSlots = (instance, children, optimized) => {
              const {
                vnode,
                slots
              } = instance;
              let needDeletionCheck = true;
              let deletionComparisonTarget = EMPTY_OBJ;
              if (vnode.shapeFlag & 32) {
                const type = children._;
                if (type) {
                  if (optimized && type === 1) needDeletionCheck = false;else assignSlots(slots, children, optimized);
                } else {
                  needDeletionCheck = !children.$stable;
                  normalizeObjectSlots(children, slots);
                }
                deletionComparisonTarget = children;
              } else if (children) {
                normalizeVNodeSlots(instance, children);
                deletionComparisonTarget = {
                  default: 1
                };
              }
              if (needDeletionCheck) {
                for (const key in slots) if (!isInternalKey(key) && deletionComparisonTarget[key] == null) delete slots[key];
              }
            };
            queuePostRenderEffect = queueEffectWithSuspense;
            ssrContextKey = Symbol.for("v-scx");
            useSSRContext = () => {
              {
                const ctx = inject(ssrContextKey);
                if (!ctx) {}
                return ctx;
              }
            };
            getModelModifiers = (props, modelName) => {
              return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];
            };
            getFunctionalFallthrough = attrs => {
              let res;
              for (const key in attrs) if (key === "class" || key === "style" || isOn(key)) (res || (res = {}))[key] = attrs[key];
              return res;
            };
            filterModelListeners = (attrs, props) => {
              const res = {};
              for (const key in attrs) if (!isModelListener(key) || !(key.slice(9) in props)) res[key] = attrs[key];
              return res;
            };
            isSuspense = type => type.__isSuspense;
            suspenseId = 0;
            _export("y", Suspense = {
              name: "Suspense",
              __isSuspense: true,
              process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
                if (n1 == null) mountSuspense(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals);else {
                  if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {
                    n2.suspense = n1.suspense;
                    n2.suspense.vnode = n2;
                    n2.el = n1.el;
                    return;
                  }
                  patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, rendererInternals);
                }
              },
              hydrate: hydrateSuspense,
              normalize: normalizeSuspenseChildren
            });
            _export("_", Fragment = Symbol.for("v-fgt"));
            _export("x", Text = Symbol.for("v-txt"));
            _export("g", Comment = Symbol.for("v-cmt"));
            Static = Symbol.for("v-stc");
            blockStack = [];
            currentBlock = null;
            isBlockTreeEnabled = 1;
            normalizeKey = ({
              key
            }) => key != null ? key : null;
            normalizeRef = ({
              ref: ref$1,
              ref_key,
              ref_for
            }) => {
              if (typeof ref$1 === "number") ref$1 = "" + ref$1;
              return ref$1 != null ? isString(ref$1) || isRef(ref$1) || isFunction(ref$1) ? {
                i: currentRenderingInstance,
                r: ref$1,
                k: ref_key,
                f: !!ref_for
              } : ref$1 : null;
            };
            _export("M", createVNode = _createVNode);
            emptyAppContext = createAppContext();
            uid = 0;
            currentInstance = null;
            _export("F", getCurrentInstance = () => currentInstance || currentRenderingInstance);
            ;
            ;
            {
              const g = getGlobalThis();
              const registerGlobalSetter = (key, setter) => {
                let setters;
                if (!(setters = g[key])) setters = g[key] = [];
                setters.push(setter);
                return v => {
                  if (setters.length > 1) setters.forEach(set => set(v));else setters[0](v);
                };
              };
              internalSetCurrentInstance = registerGlobalSetter(`__VUE_INSTANCE_SETTERS__`, v => currentInstance = v);
              setInSSRSetupState = registerGlobalSetter(`__VUE_SSR_SETTERS__`, v => isInSSRComponentSetup = v);
            }
            setCurrentInstance = instance => {
              const prev = currentInstance;
              internalSetCurrentInstance(instance);
              instance.scope.on();
              return () => {
                instance.scope.off();
                internalSetCurrentInstance(prev);
              };
            };
            unsetCurrentInstance = () => {
              currentInstance && currentInstance.scope.off();
              internalSetCurrentInstance(null);
            };
            isInSSRComponentSetup = false;
            ;
            ;
            isRuntimeOnly = () => !compile$1;
            attrsProxyHandlers = {
              get(target, key) {
                track(target, "get", "");
                return target[key];
              }
            };
            _export("C", computed$1 = (getterOrOptions, debugOptions) => {
              return computed(getterOrOptions, debugOptions, isInSSRComponentSetup);
            });
            _export("ht", version = "3.5.13");
            _export("gt", warn = NOOP);
            ErrorTypeStrings = ErrorTypeStrings$1;
            devtools = devtools$1;
            setDevtoolsHook = setDevtoolsHook$1;
            ssrUtils = {
              createComponentInstance,
              setupComponent,
              renderComponentRoot,
              setCurrentRenderingInstance,
              isVNode,
              normalizeVNode,
              getComponentPublicInstance,
              ensureValidVNode,
              pushWarningContext,
              popWarningContext
            };
            resolveFilter = null;
            compatUtils = null;
            DeprecationTypes = null;
          }
        }); //#endregion
        //#region ../../../node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js
        _export("s", runtime_dom_esm_bundler_exports = /* @__PURE__ */__export({
          BaseTransition: () => BaseTransition,
          BaseTransitionPropsValidators: () => BaseTransitionPropsValidators,
          Comment: () => Comment,
          DeprecationTypes: () => null,
          EffectScope: () => EffectScope,
          ErrorCodes: () => ErrorCodes,
          ErrorTypeStrings: () => ErrorTypeStrings,
          Fragment: () => Fragment,
          KeepAlive: () => KeepAlive,
          ReactiveEffect: () => ReactiveEffect,
          Static: () => Static,
          Suspense: () => Suspense,
          Teleport: () => Teleport,
          Text: () => Text,
          TrackOpTypes: () => TrackOpTypes,
          Transition: () => Transition,
          TransitionGroup: () => TransitionGroup,
          TriggerOpTypes: () => TriggerOpTypes,
          VueElement: () => VueElement,
          assertNumber: () => assertNumber,
          callWithAsyncErrorHandling: () => callWithAsyncErrorHandling,
          callWithErrorHandling: () => callWithErrorHandling,
          camelize: () => camelize,
          capitalize: () => capitalize,
          cloneVNode: () => cloneVNode,
          compatUtils: () => null,
          computed: () => computed$1,
          createApp: () => createApp,
          createBlock: () => createBlock,
          createCommentVNode: () => createCommentVNode,
          createElementBlock: () => createElementBlock,
          createElementVNode: () => createBaseVNode,
          createHydrationRenderer: () => createHydrationRenderer,
          createPropsRestProxy: () => createPropsRestProxy,
          createRenderer: () => createRenderer,
          createSSRApp: () => createSSRApp,
          createSlots: () => createSlots,
          createStaticVNode: () => createStaticVNode,
          createTextVNode: () => createTextVNode,
          createVNode: () => createVNode,
          customRef: () => customRef,
          defineAsyncComponent: () => defineAsyncComponent,
          defineComponent: () => defineComponent,
          defineCustomElement: () => defineCustomElement,
          defineEmits: () => defineEmits,
          defineExpose: () => defineExpose,
          defineModel: () => defineModel,
          defineOptions: () => defineOptions,
          defineProps: () => defineProps,
          defineSSRCustomElement: () => defineSSRCustomElement,
          defineSlots: () => defineSlots,
          devtools: () => devtools,
          effect: () => effect,
          effectScope: () => effectScope,
          getCurrentInstance: () => getCurrentInstance,
          getCurrentScope: () => getCurrentScope,
          getCurrentWatcher: () => getCurrentWatcher,
          getTransitionRawChildren: () => getTransitionRawChildren,
          guardReactiveProps: () => guardReactiveProps,
          h: () => h,
          handleError: () => handleError,
          hasInjectionContext: () => hasInjectionContext,
          hydrate: () => hydrate,
          hydrateOnIdle: () => hydrateOnIdle,
          hydrateOnInteraction: () => hydrateOnInteraction,
          hydrateOnMediaQuery: () => hydrateOnMediaQuery,
          hydrateOnVisible: () => hydrateOnVisible,
          initCustomFormatter: () => initCustomFormatter,
          initDirectivesForSSR: () => initDirectivesForSSR,
          inject: () => inject,
          isMemoSame: () => isMemoSame,
          isProxy: () => isProxy,
          isReactive: () => isReactive,
          isReadonly: () => isReadonly,
          isRef: () => isRef,
          isRuntimeOnly: () => isRuntimeOnly,
          isShallow: () => isShallow,
          isVNode: () => isVNode,
          markRaw: () => markRaw,
          mergeDefaults: () => mergeDefaults,
          mergeModels: () => mergeModels,
          mergeProps: () => mergeProps,
          nextTick: () => nextTick,
          normalizeClass: () => normalizeClass,
          normalizeProps: () => normalizeProps,
          normalizeStyle: () => normalizeStyle,
          onActivated: () => onActivated,
          onBeforeMount: () => onBeforeMount,
          onBeforeUnmount: () => onBeforeUnmount,
          onBeforeUpdate: () => onBeforeUpdate,
          onDeactivated: () => onDeactivated,
          onErrorCaptured: () => onErrorCaptured,
          onMounted: () => onMounted,
          onRenderTracked: () => onRenderTracked,
          onRenderTriggered: () => onRenderTriggered,
          onScopeDispose: () => onScopeDispose,
          onServerPrefetch: () => onServerPrefetch,
          onUnmounted: () => onUnmounted,
          onUpdated: () => onUpdated,
          onWatcherCleanup: () => onWatcherCleanup,
          openBlock: () => openBlock,
          popScopeId: () => popScopeId,
          provide: () => provide,
          proxyRefs: () => proxyRefs,
          pushScopeId: () => pushScopeId,
          queuePostFlushCb: () => queuePostFlushCb,
          reactive: () => reactive,
          readonly: () => readonly,
          ref: () => ref,
          registerRuntimeCompiler: () => registerRuntimeCompiler,
          render: () => render,
          renderList: () => renderList,
          renderSlot: () => renderSlot,
          resolveComponent: () => resolveComponent,
          resolveDirective: () => resolveDirective,
          resolveDynamicComponent: () => resolveDynamicComponent,
          resolveFilter: () => null,
          resolveTransitionHooks: () => resolveTransitionHooks,
          setBlockTracking: () => setBlockTracking,
          setDevtoolsHook: () => setDevtoolsHook,
          setTransitionHooks: () => setTransitionHooks,
          shallowReactive: () => shallowReactive,
          shallowReadonly: () => shallowReadonly,
          shallowRef: () => shallowRef,
          ssrContextKey: () => ssrContextKey,
          ssrUtils: () => ssrUtils,
          stop: () => stop,
          toDisplayString: () => toDisplayString,
          toHandlerKey: () => toHandlerKey,
          toHandlers: () => toHandlers,
          toRaw: () => toRaw,
          toRef: () => toRef,
          toRefs: () => toRefs,
          toValue: () => toValue,
          transformVNodeArgs: () => transformVNodeArgs,
          triggerRef: () => triggerRef,
          unref: () => unref,
          useAttrs: () => useAttrs,
          useCssModule: () => useCssModule,
          useCssVars: () => useCssVars,
          useHost: () => useHost,
          useId: () => useId,
          useModel: () => useModel,
          useSSRContext: () => useSSRContext,
          useShadowRoot: () => useShadowRoot,
          useSlots: () => useSlots,
          useTemplateRef: () => useTemplateRef,
          useTransitionState: () => useTransitionState,
          vModelCheckbox: () => vModelCheckbox,
          vModelDynamic: () => vModelDynamic,
          vModelRadio: () => vModelRadio,
          vModelSelect: () => vModelSelect,
          vModelText: () => vModelText,
          vShow: () => vShow,
          version: () => version,
          warn: () => warn,
          watch: () => watch,
          watchEffect: () => watchEffect,
          watchPostEffect: () => watchPostEffect,
          watchSyncEffect: () => watchSyncEffect,
          withAsyncContext: () => withAsyncContext,
          withCtx: () => withCtx,
          withDefaults: () => withDefaults,
          withDirectives: () => withDirectives,
          withKeys: () => withKeys,
          withMemo: () => withMemo,
          withModifiers: () => withModifiers,
          withScopeId: () => withScopeId
        }));
        _export("a", init_runtime_dom_esm_bundler = __esm({
          "../../../node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js": () => {
            init_runtime_core_esm_bundler();
            init_runtime_core_esm_bundler();
            init_shared_esm_bundler();
            policy = void 0;
            tt = typeof window !== "undefined" && window.trustedTypes;
            if (tt) try {
              policy = /* @__PURE__ */tt.createPolicy("vue", {
                createHTML: val => val
              });
            } catch (e) {}
            unsafeToTrustedHTML = policy ? val => policy.createHTML(val) : val => val;
            svgNS = "http://www.w3.org/2000/svg";
            mathmlNS = "http://www.w3.org/1998/Math/MathML";
            doc = typeof document !== "undefined" ? document : null;
            templateContainer = doc && /* @__PURE__ */doc.createElement("template");
            nodeOps = {
              insert: (child, parent, anchor) => {
                parent.insertBefore(child, anchor || null);
              },
              remove: child => {
                const parent = child.parentNode;
                if (parent) parent.removeChild(child);
              },
              createElement: (tag, namespace, is, props) => {
                const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, {
                  is
                }) : doc.createElement(tag);
                if (tag === "select" && props && props.multiple != null) el.setAttribute("multiple", props.multiple);
                return el;
              },
              createText: text => doc.createTextNode(text),
              createComment: text => doc.createComment(text),
              setText: (node, text) => {
                node.nodeValue = text;
              },
              setElementText: (el, text) => {
                el.textContent = text;
              },
              parentNode: node => node.parentNode,
              nextSibling: node => node.nextSibling,
              querySelector: selector => doc.querySelector(selector),
              setScopeId(el, id) {
                el.setAttribute(id, "");
              },
              insertStaticContent(content, parent, anchor, namespace, start, end) {
                const before = anchor ? anchor.previousSibling : parent.lastChild;
                if (start && (start === end || start.nextSibling)) while (true) {
                  parent.insertBefore(start.cloneNode(true), anchor);
                  if (start === end || !(start = start.nextSibling)) break;
                } else {
                  templateContainer.innerHTML = unsafeToTrustedHTML(namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content);
                  const template = templateContainer.content;
                  if (namespace === "svg" || namespace === "mathml") {
                    const wrapper = template.firstChild;
                    while (wrapper.firstChild) template.appendChild(wrapper.firstChild);
                    template.removeChild(wrapper);
                  }
                  parent.insertBefore(template, anchor);
                }
                return [before ? before.nextSibling : parent.firstChild, anchor ? anchor.previousSibling : parent.lastChild];
              }
            };
            TRANSITION = "transition";
            ANIMATION = "animation";
            vtcKey = Symbol("_vtc");
            DOMTransitionPropsValidators = {
              name: String,
              type: String,
              css: {
                type: Boolean,
                default: true
              },
              duration: [String, Number, Object],
              enterFromClass: String,
              enterActiveClass: String,
              enterToClass: String,
              appearFromClass: String,
              appearActiveClass: String,
              appearToClass: String,
              leaveFromClass: String,
              leaveActiveClass: String,
              leaveToClass: String
            };
            TransitionPropsValidators = /* @__PURE__ */extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
            decorate$1 = t => {
              t.displayName = "Transition";
              t.props = TransitionPropsValidators;
              return t;
            };
            _export("n", Transition = /* @__PURE__ */decorate$1((props, {
              slots
            }) => h(BaseTransition, resolveTransitionProps(props), slots)));
            callHook = (hook, args = []) => {
              if (isArray(hook)) hook.forEach(h2 => h2(...args));else if (hook) hook(...args);
            };
            hasExplicitCallback = hook => {
              return hook ? isArray(hook) ? hook.some(h2 => h2.length > 1) : hook.length > 1 : false;
            };
            endId = 0;
            vShowOriginalDisplay = Symbol("_vod");
            vShowHidden = Symbol("_vsh");
            _export("p", vShow = {
              beforeMount(el, {
                value
              }, {
                transition
              }) {
                el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
                if (transition && value) transition.beforeEnter(el);else setDisplay(el, value);
              },
              mounted(el, {
                value
              }, {
                transition
              }) {
                if (transition && value) transition.enter(el);
              },
              updated(el, {
                value,
                oldValue
              }, {
                transition
              }) {
                if (!value === !oldValue) return;
                if (transition) {
                  if (value) {
                    transition.beforeEnter(el);
                    setDisplay(el, true);
                    transition.enter(el);
                  } else transition.leave(el, () => {
                    setDisplay(el, false);
                  });
                } else setDisplay(el, value);
              },
              beforeUnmount(el, {
                value
              }) {
                setDisplay(el, value);
              }
            });
            CSS_VAR_TEXT = Symbol("");
            displayRE = /(^|;)\s*display\s*:/;
            importantRE = /\s*!important$/;
            prefixes = ["Webkit", "Moz", "ms"];
            prefixCache = {};
            xlinkNS = "http://www.w3.org/1999/xlink";
            veiKey = Symbol("_vei");
            optionsModifierRE = /(?:Once|Passive|Capture)$/;
            cachedNow = 0;
            p = /* @__PURE__ */Promise.resolve();
            getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
            isNativeOn = key => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
            patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {
              const isSVG = namespace === "svg";
              if (key === "class") patchClass(el, nextValue, isSVG);else if (key === "style") patchStyle(el, prevValue, nextValue);else if (isOn(key)) {
                if (!isModelListener(key)) patchEvent(el, key, prevValue, nextValue, parentComponent);
              } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
                patchDOMProp(el, key, nextValue);
                if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
              } else if (el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))) patchDOMProp(el, camelize(key), nextValue, parentComponent, key);else {
                if (key === "true-value") el._trueValue = nextValue;else if (key === "false-value") el._falseValue = nextValue;
                patchAttr(el, key, nextValue, isSVG);
              }
            };
            REMOVAL = {};
            defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */(options, extraOptions) => {
              return /* @__PURE__ */defineCustomElement(options, extraOptions, createSSRApp);
            };
            BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {};
            VueElement = class VueElement extends BaseClass {
              constructor(_def, _props = {}, _createApp = createApp) {
                super();
                this._def = _def;
                this._props = _props;
                this._createApp = _createApp;
                this._isVueCE = true;
                /**
                * @internal
                */
                this._instance = null;
                /**
                * @internal
                */
                this._app = null;
                /**
                * @internal
                */
                this._nonce = this._def.nonce;
                this._connected = false;
                this._resolved = false;
                this._numberProps = null;
                this._styleChildren = /* @__PURE__ */new WeakSet();
                this._ob = null;
                if (this.shadowRoot && _createApp !== createApp) this._root = this.shadowRoot;else if (_def.shadowRoot !== false) {
                  this.attachShadow({
                    mode: "open"
                  });
                  this._root = this.shadowRoot;
                } else this._root = this;
                if (!this._def.__asyncLoader) this._resolveProps(this._def);
              }
              connectedCallback() {
                if (!this.isConnected) return;
                if (!this.shadowRoot) this._parseSlots();
                this._connected = true;
                let parent = this;
                while (parent = parent && (parent.parentNode || parent.host)) if (parent instanceof VueElement) {
                  this._parent = parent;
                  break;
                }
                if (!this._instance) if (this._resolved) {
                  this._setParent();
                  this._update();
                } else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
                  this._pendingResolve = void 0;
                  this._resolveDef();
                });else this._resolveDef();
              }
              _setParent(parent = this._parent) {
                if (parent) {
                  this._instance.parent = parent._instance;
                  this._instance.provides = parent._instance.provides;
                }
              }
              disconnectedCallback() {
                this._connected = false;
                nextTick(() => {
                  if (!this._connected) {
                    if (this._ob) {
                      this._ob.disconnect();
                      this._ob = null;
                    }
                    this._app && this._app.unmount();
                    if (this._instance) this._instance.ce = void 0;
                    this._app = this._instance = null;
                  }
                });
              }
              /**
              * resolve inner component definition (handle possible async component)
              */
              _resolveDef() {
                if (this._pendingResolve) return;
                for (let i = 0; i < this.attributes.length; i++) this._setAttr(this.attributes[i].name);
                this._ob = new MutationObserver(mutations => {
                  for (const m of mutations) this._setAttr(m.attributeName);
                });
                this._ob.observe(this, {
                  attributes: true
                });
                const resolve$1 = (def$1, isAsync = false) => {
                  this._resolved = true;
                  this._pendingResolve = void 0;
                  const {
                    props,
                    styles
                  } = def$1;
                  let numberProps;
                  if (props && !isArray(props)) for (const key in props) {
                    const opt = props[key];
                    if (opt === Number || opt && opt.type === Number) {
                      if (key in this._props) this._props[key] = toNumber(this._props[key]);
                      (numberProps || (numberProps = /* @__PURE__ */Object.create(null)))[camelize(key)] = true;
                    }
                  }
                  this._numberProps = numberProps;
                  if (isAsync) this._resolveProps(def$1);
                  if (this.shadowRoot) this._applyStyles(styles);
                  this._mount(def$1);
                };
                const asyncDef = this._def.__asyncLoader;
                if (asyncDef) this._pendingResolve = asyncDef().then(def$1 => resolve$1(this._def = def$1, true));else resolve$1(this._def);
              }
              _mount(def$1) {
                this._app = this._createApp(def$1);
                if (def$1.configureApp) def$1.configureApp(this._app);
                this._app._ceVNode = this._createVNode();
                this._app.mount(this._root);
                const exposed = this._instance && this._instance.exposed;
                if (!exposed) return;
                for (const key in exposed) if (!hasOwn(this, key)) Object.defineProperty(this, key, {
                  get: () => unref(exposed[key])
                });
              }
              _resolveProps(def$1) {
                const {
                  props
                } = def$1;
                const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
                for (const key of Object.keys(this)) if (key[0] !== "_" && declaredPropKeys.includes(key)) this._setProp(key, this[key]);
                for (const key of declaredPropKeys.map(camelize)) Object.defineProperty(this, key, {
                  get() {
                    return this._getProp(key);
                  },
                  set(val) {
                    this._setProp(key, val, true, true);
                  }
                });
              }
              _setAttr(key) {
                if (key.startsWith("data-v-")) return;
                const has = this.hasAttribute(key);
                let value = has ? this.getAttribute(key) : REMOVAL;
                const camelKey = camelize(key);
                if (has && this._numberProps && this._numberProps[camelKey]) value = toNumber(value);
                this._setProp(camelKey, value, false, true);
              }
              /**
              * @internal
              */
              _getProp(key) {
                return this._props[key];
              }
              /**
              * @internal
              */
              _setProp(key, val, shouldReflect = true, shouldUpdate = false) {
                if (val !== this._props[key]) {
                  if (val === REMOVAL) delete this._props[key];else {
                    this._props[key] = val;
                    if (key === "key" && this._app) this._app._ceVNode.key = val;
                  }
                  if (shouldUpdate && this._instance) this._update();
                  if (shouldReflect) {
                    const ob = this._ob;
                    ob && ob.disconnect();
                    if (val === true) this.setAttribute(hyphenate(key), "");else if (typeof val === "string" || typeof val === "number") this.setAttribute(hyphenate(key), val + "");else if (!val) this.removeAttribute(hyphenate(key));
                    ob && ob.observe(this, {
                      attributes: true
                    });
                  }
                }
              }
              _update() {
                render(this._createVNode(), this._root);
              }
              _createVNode() {
                const baseProps = {};
                if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);
                const vnode = createVNode(this._def, extend(baseProps, this._props));
                if (!this._instance) vnode.ce = instance => {
                  this._instance = instance;
                  instance.ce = this;
                  instance.isCE = true;
                  const dispatch = (event, args) => {
                    this.dispatchEvent(new CustomEvent(event, isPlainObject(args[0]) ? extend({
                      detail: args
                    }, args[0]) : {
                      detail: args
                    }));
                  };
                  instance.emit = (event, ...args) => {
                    dispatch(event, args);
                    if (hyphenate(event) !== event) dispatch(hyphenate(event), args);
                  };
                  this._setParent();
                };
                return vnode;
              }
              _applyStyles(styles, owner) {
                if (!styles) return;
                if (owner) {
                  if (owner === this._def || this._styleChildren.has(owner)) return;
                  this._styleChildren.add(owner);
                }
                const nonce = this._nonce;
                for (let i = styles.length - 1; i >= 0; i--) {
                  const s = document.createElement("style");
                  if (nonce) s.setAttribute("nonce", nonce);
                  s.textContent = styles[i];
                  this.shadowRoot.prepend(s);
                }
              }
              /**
              * Only called when shadowRoot is false
              */
              _parseSlots() {
                const slots = this._slots = {};
                let n;
                while (n = this.firstChild) {
                  const slotName = n.nodeType === 1 && n.getAttribute("slot") || "default";
                  (slots[slotName] || (slots[slotName] = [])).push(n);
                  this.removeChild(n);
                }
              }
              /**
              * Only called when shadowRoot is false
              */
              _renderSlots() {
                const outlets = (this._teleportTarget || this).querySelectorAll("slot");
                const scopeId = this._instance.type.__scopeId;
                for (let i = 0; i < outlets.length; i++) {
                  const o = outlets[i];
                  const slotName = o.getAttribute("name") || "default";
                  const content = this._slots[slotName];
                  const parent = o.parentNode;
                  if (content) for (const n of content) {
                    if (scopeId && n.nodeType === 1) {
                      const id = scopeId + "-s";
                      const walker = document.createTreeWalker(n, 1);
                      n.setAttribute(id, "");
                      let child;
                      while (child = walker.nextNode()) child.setAttribute(id, "");
                    }
                    parent.insertBefore(n, o);
                  } else while (o.firstChild) parent.insertBefore(o.firstChild, o);
                  parent.removeChild(o);
                }
              }
              /**
              * @internal
              */
              _injectChildStyle(comp) {
                this._applyStyles(comp.styles, comp);
              }
              /**
              * @internal
              */
              _removeChildStyle(comp) {}
            };
            positionMap = /* @__PURE__ */new WeakMap();
            newPositionMap = /* @__PURE__ */new WeakMap();
            moveCbKey = Symbol("_moveCb");
            enterCbKey = Symbol("_enterCb");
            decorate = t => {
              delete t.props.mode;
              return t;
            };
            _export("r", TransitionGroup = /* @__PURE__ */decorate({
              name: "TransitionGroup",
              props: /* @__PURE__ */extend({}, TransitionPropsValidators, {
                tag: String,
                moveClass: String
              }),
              setup(props, {
                slots
              }) {
                const instance = getCurrentInstance();
                const state = useTransitionState();
                let prevChildren;
                let children;
                onUpdated(() => {
                  if (!prevChildren.length) return;
                  const moveClass = props.moveClass || `${props.name || "v"}-move`;
                  if (!hasCSSTransform(prevChildren[0].el, instance.vnode.el, moveClass)) return;
                  prevChildren.forEach(callPendingCbs);
                  prevChildren.forEach(recordPosition);
                  const movedChildren = prevChildren.filter(applyTranslation);
                  forceReflow();
                  movedChildren.forEach(c => {
                    const el = c.el;
                    const style = el.style;
                    addTransitionClass(el, moveClass);
                    style.transform = style.webkitTransform = style.transitionDuration = "";
                    const cb = el[moveCbKey] = e => {
                      if (e && e.target !== el) return;
                      if (!e || /transform$/.test(e.propertyName)) {
                        el.removeEventListener("transitionend", cb);
                        el[moveCbKey] = null;
                        removeTransitionClass(el, moveClass);
                      }
                    };
                    el.addEventListener("transitionend", cb);
                  });
                });
                return () => {
                  const rawProps = toRaw(props);
                  const cssTransitionProps = resolveTransitionProps(rawProps);
                  let tag = rawProps.tag || Fragment;
                  prevChildren = [];
                  if (children) for (let i = 0; i < children.length; i++) {
                    const child = children[i];
                    if (child.el && child.el instanceof Element) {
                      prevChildren.push(child);
                      setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
                      positionMap.set(child, child.el.getBoundingClientRect());
                    }
                  }
                  children = slots.default ? getTransitionRawChildren(slots.default()) : [];
                  for (let i = 0; i < children.length; i++) {
                    const child = children[i];
                    if (child.key != null) setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
                  }
                  return createVNode(tag, null, children);
                };
              }
            }));
            getModelAssigner = vnode => {
              const fn = vnode.props["onUpdate:modelValue"] || false;
              return isArray(fn) ? value => invokeArrayFns(fn, value) : fn;
            };
            assignKey = Symbol("_assign");
            _export("f", vModelText = {
              created(el, {
                modifiers: {
                  lazy,
                  trim,
                  number
                }
              }, vnode) {
                el[assignKey] = getModelAssigner(vnode);
                const castToNumber = number || vnode.props && vnode.props.type === "number";
                addEventListener(el, lazy ? "change" : "input", e => {
                  if (e.target.composing) return;
                  let domValue = el.value;
                  if (trim) domValue = domValue.trim();
                  if (castToNumber) domValue = looseToNumber(domValue);
                  el[assignKey](domValue);
                });
                if (trim) addEventListener(el, "change", () => {
                  el.value = el.value.trim();
                });
                if (!lazy) {
                  addEventListener(el, "compositionstart", onCompositionStart);
                  addEventListener(el, "compositionend", onCompositionEnd);
                  addEventListener(el, "change", onCompositionEnd);
                }
              },
              mounted(el, {
                value
              }) {
                el.value = value == null ? "" : value;
              },
              beforeUpdate(el, {
                value,
                oldValue,
                modifiers: {
                  lazy,
                  trim,
                  number
                }
              }, vnode) {
                el[assignKey] = getModelAssigner(vnode);
                if (el.composing) return;
                const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value;
                const newValue = value == null ? "" : value;
                if (elValue === newValue) return;
                if (document.activeElement === el && el.type !== "range") {
                  if (lazy && value === oldValue) return;
                  if (trim && el.value.trim() === newValue) return;
                }
                el.value = newValue;
              }
            });
            _export("u", vModelCheckbox = {
              deep: true,
              created(el, _, vnode) {
                el[assignKey] = getModelAssigner(vnode);
                addEventListener(el, "change", () => {
                  const modelValue = el._modelValue;
                  const elementValue = getValue(el);
                  const checked = el.checked;
                  const assign = el[assignKey];
                  if (isArray(modelValue)) {
                    const index = looseIndexOf(modelValue, elementValue);
                    const found = index !== -1;
                    if (checked && !found) assign(modelValue.concat(elementValue));else if (!checked && found) {
                      const filtered = [...modelValue];
                      filtered.splice(index, 1);
                      assign(filtered);
                    }
                  } else if (isSet(modelValue)) {
                    const cloned = new Set(modelValue);
                    if (checked) cloned.add(elementValue);else cloned.delete(elementValue);
                    assign(cloned);
                  } else assign(getCheckboxValue(el, checked));
                });
              },
              mounted: setChecked,
              beforeUpdate(el, binding, vnode) {
                el[assignKey] = getModelAssigner(vnode);
                setChecked(el, binding, vnode);
              }
            });
            _export("d", vModelRadio = {
              created(el, {
                value
              }, vnode) {
                el.checked = looseEqual(value, vnode.props.value);
                el[assignKey] = getModelAssigner(vnode);
                addEventListener(el, "change", () => {
                  el[assignKey](getValue(el));
                });
              },
              beforeUpdate(el, {
                value,
                oldValue
              }, vnode) {
                el[assignKey] = getModelAssigner(vnode);
                if (value !== oldValue) el.checked = looseEqual(value, vnode.props.value);
              }
            });
            vModelSelect = {
              deep: true,
              created(el, {
                value,
                modifiers: {
                  number
                }
              }, vnode) {
                const isSetModel = isSet(value);
                addEventListener(el, "change", () => {
                  const selectedVal = Array.prototype.filter.call(el.options, o => o.selected).map(o => number ? looseToNumber(getValue(o)) : getValue(o));
                  el[assignKey](el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]);
                  el._assigning = true;
                  nextTick(() => {
                    el._assigning = false;
                  });
                });
                el[assignKey] = getModelAssigner(vnode);
              },
              mounted(el, {
                value
              }) {
                setSelected(el, value);
              },
              beforeUpdate(el, _binding, vnode) {
                el[assignKey] = getModelAssigner(vnode);
              },
              updated(el, {
                value
              }) {
                if (!el._assigning) setSelected(el, value);
              }
            };
            vModelDynamic = {
              created(el, binding, vnode) {
                callModelHook(el, binding, vnode, null, "created");
              },
              mounted(el, binding, vnode) {
                callModelHook(el, binding, vnode, null, "mounted");
              },
              beforeUpdate(el, binding, vnode, prevVNode) {
                callModelHook(el, binding, vnode, prevVNode, "beforeUpdate");
              },
              updated(el, binding, vnode, prevVNode) {
                callModelHook(el, binding, vnode, prevVNode, "updated");
              }
            };
            systemModifiers = ["ctrl", "shift", "alt", "meta"];
            modifierGuards = {
              stop: e => e.stopPropagation(),
              prevent: e => e.preventDefault(),
              self: e => e.target !== e.currentTarget,
              ctrl: e => !e.ctrlKey,
              shift: e => !e.shiftKey,
              alt: e => !e.altKey,
              meta: e => !e.metaKey,
              left: e => "button" in e && e.button !== 0,
              middle: e => "button" in e && e.button !== 1,
              right: e => "button" in e && e.button !== 2,
              exact: (e, modifiers) => systemModifiers.some(m => e[`${m}Key`] && !modifiers.includes(m))
            };
            _export("h", withModifiers = (fn, modifiers) => {
              const cache = fn._withMods || (fn._withMods = {});
              const cacheKey = modifiers.join(".");
              return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
                for (let i = 0; i < modifiers.length; i++) {
                  const guard = modifierGuards[modifiers[i]];
                  if (guard && guard(event, modifiers)) return;
                }
                return fn(event, ...args);
              });
            });
            keyNames = {
              esc: "escape",
              space: " ",
              up: "arrow-up",
              left: "arrow-left",
              right: "arrow-right",
              down: "arrow-down",
              delete: "backspace"
            };
            _export("m", withKeys = (fn, modifiers) => {
              const cache = fn._withKeys || (fn._withKeys = {});
              const cacheKey = modifiers.join(".");
              return cache[cacheKey] || (cache[cacheKey] = event => {
                if (!("key" in event)) return;
                const eventKey = hyphenate(event.key);
                if (modifiers.some(k => k === eventKey || keyNames[k] === eventKey)) return fn(event);
              });
            });
            rendererOptions = /* @__PURE__ */extend({
              patchProp
            }, nodeOps);
            ;
            enabledHydration = false;
            _export("o", render = (...args) => {
              ensureRenderer().render(...args);
            });
            hydrate = (...args) => {
              ensureHydrationRenderer().hydrate(...args);
            };
            _export("i", createApp = (...args) => {
              const app = ensureRenderer().createApp(...args);
              const {
                mount
              } = app;
              app.mount = containerOrSelector => {
                const container = normalizeContainer(containerOrSelector);
                if (!container) return;
                const component = app._component;
                if (!isFunction(component) && !component.render && !component.template) component.template = container.innerHTML;
                if (container.nodeType === 1) container.textContent = "";
                const proxy = mount(container, false, resolveRootNamespace(container));
                if (container instanceof Element) {
                  container.removeAttribute("v-cloak");
                  container.setAttribute("data-v-app", "");
                }
                return proxy;
              };
              return app;
            });
            createSSRApp = (...args) => {
              const app = ensureHydrationRenderer().createApp(...args);
              const {
                mount
              } = app;
              app.mount = containerOrSelector => {
                const container = normalizeContainer(containerOrSelector);
                if (container) return mount(container, true, resolveRootNamespace(container));
              };
              return app;
            };
            ssrDirectiveInitialized = false;
            initDirectivesForSSR = () => {
              if (!ssrDirectiveInitialized) {
                ssrDirectiveInitialized = true;
                initVModelForSSR();
                initVShowForSSR();
              }
            };
          }
        })); //#endregion
        //#region ../../../node_modules/.pnpm/vue@3.5.13_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js
        _export("t", vue_runtime_esm_bundler_exports = /* @__PURE__ */__export({
          BaseTransition: () => BaseTransition,
          BaseTransitionPropsValidators: () => BaseTransitionPropsValidators,
          Comment: () => Comment,
          DeprecationTypes: () => null,
          EffectScope: () => EffectScope,
          ErrorCodes: () => ErrorCodes,
          ErrorTypeStrings: () => ErrorTypeStrings,
          Fragment: () => Fragment,
          KeepAlive: () => KeepAlive,
          ReactiveEffect: () => ReactiveEffect,
          Static: () => Static,
          Suspense: () => Suspense,
          Teleport: () => Teleport,
          Text: () => Text,
          TrackOpTypes: () => TrackOpTypes,
          Transition: () => Transition,
          TransitionGroup: () => TransitionGroup,
          TriggerOpTypes: () => TriggerOpTypes,
          VueElement: () => VueElement,
          assertNumber: () => assertNumber,
          callWithAsyncErrorHandling: () => callWithAsyncErrorHandling,
          callWithErrorHandling: () => callWithErrorHandling,
          camelize: () => camelize,
          capitalize: () => capitalize,
          cloneVNode: () => cloneVNode,
          compatUtils: () => null,
          compile: () => compile,
          computed: () => computed$1,
          createApp: () => createApp,
          createBlock: () => createBlock,
          createCommentVNode: () => createCommentVNode,
          createElementBlock: () => createElementBlock,
          createElementVNode: () => createBaseVNode,
          createHydrationRenderer: () => createHydrationRenderer,
          createPropsRestProxy: () => createPropsRestProxy,
          createRenderer: () => createRenderer,
          createSSRApp: () => createSSRApp,
          createSlots: () => createSlots,
          createStaticVNode: () => createStaticVNode,
          createTextVNode: () => createTextVNode,
          createVNode: () => createVNode,
          customRef: () => customRef,
          defineAsyncComponent: () => defineAsyncComponent,
          defineComponent: () => defineComponent,
          defineCustomElement: () => defineCustomElement,
          defineEmits: () => defineEmits,
          defineExpose: () => defineExpose,
          defineModel: () => defineModel,
          defineOptions: () => defineOptions,
          defineProps: () => defineProps,
          defineSSRCustomElement: () => defineSSRCustomElement,
          defineSlots: () => defineSlots,
          devtools: () => devtools,
          effect: () => effect,
          effectScope: () => effectScope,
          getCurrentInstance: () => getCurrentInstance,
          getCurrentScope: () => getCurrentScope,
          getCurrentWatcher: () => getCurrentWatcher,
          getTransitionRawChildren: () => getTransitionRawChildren,
          guardReactiveProps: () => guardReactiveProps,
          h: () => h,
          handleError: () => handleError,
          hasInjectionContext: () => hasInjectionContext,
          hydrate: () => hydrate,
          hydrateOnIdle: () => hydrateOnIdle,
          hydrateOnInteraction: () => hydrateOnInteraction,
          hydrateOnMediaQuery: () => hydrateOnMediaQuery,
          hydrateOnVisible: () => hydrateOnVisible,
          initCustomFormatter: () => initCustomFormatter,
          initDirectivesForSSR: () => initDirectivesForSSR,
          inject: () => inject,
          isMemoSame: () => isMemoSame,
          isProxy: () => isProxy,
          isReactive: () => isReactive,
          isReadonly: () => isReadonly,
          isRef: () => isRef,
          isRuntimeOnly: () => isRuntimeOnly,
          isShallow: () => isShallow,
          isVNode: () => isVNode,
          markRaw: () => markRaw,
          mergeDefaults: () => mergeDefaults,
          mergeModels: () => mergeModels,
          mergeProps: () => mergeProps,
          nextTick: () => nextTick,
          normalizeClass: () => normalizeClass,
          normalizeProps: () => normalizeProps,
          normalizeStyle: () => normalizeStyle,
          onActivated: () => onActivated,
          onBeforeMount: () => onBeforeMount,
          onBeforeUnmount: () => onBeforeUnmount,
          onBeforeUpdate: () => onBeforeUpdate,
          onDeactivated: () => onDeactivated,
          onErrorCaptured: () => onErrorCaptured,
          onMounted: () => onMounted,
          onRenderTracked: () => onRenderTracked,
          onRenderTriggered: () => onRenderTriggered,
          onScopeDispose: () => onScopeDispose,
          onServerPrefetch: () => onServerPrefetch,
          onUnmounted: () => onUnmounted,
          onUpdated: () => onUpdated,
          onWatcherCleanup: () => onWatcherCleanup,
          openBlock: () => openBlock,
          popScopeId: () => popScopeId,
          provide: () => provide,
          proxyRefs: () => proxyRefs,
          pushScopeId: () => pushScopeId,
          queuePostFlushCb: () => queuePostFlushCb,
          reactive: () => reactive,
          readonly: () => readonly,
          ref: () => ref,
          registerRuntimeCompiler: () => registerRuntimeCompiler,
          render: () => render,
          renderList: () => renderList,
          renderSlot: () => renderSlot,
          resolveComponent: () => resolveComponent,
          resolveDirective: () => resolveDirective,
          resolveDynamicComponent: () => resolveDynamicComponent,
          resolveFilter: () => null,
          resolveTransitionHooks: () => resolveTransitionHooks,
          setBlockTracking: () => setBlockTracking,
          setDevtoolsHook: () => setDevtoolsHook,
          setTransitionHooks: () => setTransitionHooks,
          shallowReactive: () => shallowReactive,
          shallowReadonly: () => shallowReadonly,
          shallowRef: () => shallowRef,
          ssrContextKey: () => ssrContextKey,
          ssrUtils: () => ssrUtils,
          stop: () => stop,
          toDisplayString: () => toDisplayString,
          toHandlerKey: () => toHandlerKey,
          toHandlers: () => toHandlers,
          toRaw: () => toRaw,
          toRef: () => toRef,
          toRefs: () => toRefs,
          toValue: () => toValue,
          transformVNodeArgs: () => transformVNodeArgs,
          triggerRef: () => triggerRef,
          unref: () => unref,
          useAttrs: () => useAttrs,
          useCssModule: () => useCssModule,
          useCssVars: () => useCssVars,
          useHost: () => useHost,
          useId: () => useId,
          useModel: () => useModel,
          useSSRContext: () => useSSRContext,
          useShadowRoot: () => useShadowRoot,
          useSlots: () => useSlots,
          useTemplateRef: () => useTemplateRef,
          useTransitionState: () => useTransitionState,
          vModelCheckbox: () => vModelCheckbox,
          vModelDynamic: () => vModelDynamic,
          vModelRadio: () => vModelRadio,
          vModelSelect: () => vModelSelect,
          vModelText: () => vModelText,
          vShow: () => vShow,
          version: () => version,
          warn: () => warn,
          watch: () => watch,
          watchEffect: () => watchEffect,
          watchPostEffect: () => watchPostEffect,
          watchSyncEffect: () => watchSyncEffect,
          withAsyncContext: () => withAsyncContext,
          withCtx: () => withCtx,
          withDefaults: () => withDefaults,
          withDirectives: () => withDirectives,
          withKeys: () => withKeys,
          withMemo: () => withMemo,
          withModifiers: () => withModifiers,
          withScopeId: () => withScopeId
        }));
        init_runtime_dom_esm_bundler();
        compile = () => {}; //#endregion
      }
    };
  });
})();