import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared'; import { isSymbol, extend, isObject, toRawType, def, hasOwn, isArray, isIntegerKey, makeMap, hasChanged, isMap, capitalize, getGlobalThis, isString, normalizeClass, normalizeStyle, isFunction, isOn, NOOP, EMPTY_OBJ, isPromise, isSet, isPlainObject, camelize, remove, toHandlerKey, hyphenate, isReservedProp, toTypeString, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared'; export { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared'; /** * @vue/reactivity v3.4.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ function warn$4(msg, ...args) { console.warn(`[Vue warn] ${msg}`, ...args); } let activeEffectScope$1; function recordEffectScope$1(effect, scope = activeEffectScope$1) { if (scope && scope.active) { scope.effects.push(effect); } } let activeEffect$1; let ReactiveEffect$1 = class ReactiveEffect { constructor(fn, trigger, scheduler, scope) { this.fn = fn; this.trigger = trigger; this.scheduler = scheduler; this.active = true; this.deps = []; /** * @internal */ this._dirtyLevel = 4; /** * @internal */ this._trackId = 0; /** * @internal */ this._runnings = 0; /** * @internal */ this._shouldSchedule = false; /** * @internal */ this._depsLength = 0; recordEffectScope$1(this, scope); } get dirty() { if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { this._dirtyLevel = 1; pauseTracking$1(); for (let i = 0; i < this._depsLength; i++) { const dep = this.deps[i]; if (dep.computed) { triggerComputed$1(dep.computed); if (this._dirtyLevel >= 4) { break; } } } if (this._dirtyLevel === 1) { this._dirtyLevel = 0; } resetTracking$1(); } return this._dirtyLevel >= 4; } set dirty(v) { this._dirtyLevel = v ? 4 : 0; } run() { this._dirtyLevel = 0; if (!this.active) { return this.fn(); } let lastShouldTrack = shouldTrack$1; let lastEffect = activeEffect$1; try { shouldTrack$1 = true; activeEffect$1 = this; this._runnings++; preCleanupEffect$1(this); return this.fn(); } finally { postCleanupEffect$1(this); this._runnings--; activeEffect$1 = lastEffect; shouldTrack$1 = lastShouldTrack; } } stop() { var _a; if (this.active) { preCleanupEffect$1(this); postCleanupEffect$1(this); (_a = this.onStop) == null ? void 0 : _a.call(this); this.active = false; } } }; function triggerComputed$1(computed) { return computed.value; } function preCleanupEffect$1(effect2) { effect2._trackId++; effect2._depsLength = 0; } function postCleanupEffect$1(effect2) { if (effect2.deps.length > effect2._depsLength) { for (let i = effect2._depsLength; i < effect2.deps.length; i++) { cleanupDepEffect$1(effect2.deps[i], effect2); } effect2.deps.length = effect2._depsLength; } } function cleanupDepEffect$1(dep, effect2) { const trackId = dep.get(effect2); if (trackId !== void 0 && effect2._trackId !== trackId) { dep.delete(effect2); if (dep.size === 0) { dep.cleanup(); } } } let shouldTrack$1 = true; let pauseScheduleStack$1 = 0; const trackStack$1 = []; function pauseTracking$1() { trackStack$1.push(shouldTrack$1); shouldTrack$1 = false; } function resetTracking$1() { const last = trackStack$1.pop(); shouldTrack$1 = last === void 0 ? true : last; } function pauseScheduling$1() { pauseScheduleStack$1++; } function resetScheduling$1() { pauseScheduleStack$1--; while (!pauseScheduleStack$1 && queueEffectSchedulers$1.length) { queueEffectSchedulers$1.shift()(); } } function trackEffect$1(effect2, dep, debuggerEventExtraInfo) { var _a; if (dep.get(effect2) !== effect2._trackId) { dep.set(effect2, effect2._trackId); const oldDep = effect2.deps[effect2._depsLength]; if (oldDep !== dep) { if (oldDep) { cleanupDepEffect$1(oldDep, effect2); } effect2.deps[effect2._depsLength++] = dep; } else { effect2._depsLength++; } if (!!(process.env.NODE_ENV !== "production")) { (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); } } } const queueEffectSchedulers$1 = []; function triggerEffects$1(dep, dirtyLevel, debuggerEventExtraInfo) { var _a; pauseScheduling$1(); for (const effect2 of dep.keys()) { let tracking; if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); effect2._dirtyLevel = dirtyLevel; } if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { if (!!(process.env.NODE_ENV !== "production")) { (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); } effect2.trigger(); if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { effect2._shouldSchedule = false; if (effect2.scheduler) { queueEffectSchedulers$1.push(effect2.scheduler); } } } } resetScheduling$1(); } const createDep$1 = (cleanup, computed) => { const dep = /* @__PURE__ */ new Map(); dep.cleanup = cleanup; dep.computed = computed; return dep; }; const targetMap$1 = /* @__PURE__ */ new WeakMap(); const ITERATE_KEY$1 = Symbol(!!(process.env.NODE_ENV !== "production") ? "iterate" : ""); const MAP_KEY_ITERATE_KEY$1 = Symbol(!!(process.env.NODE_ENV !== "production") ? "Map key iterate" : ""); function track$1(target, type, key) { if (shouldTrack$1 && activeEffect$1) { let depsMap = targetMap$1.get(target); if (!depsMap) { targetMap$1.set(target, depsMap = /* @__PURE__ */ new Map()); } let dep = depsMap.get(key); if (!dep) { depsMap.set(key, dep = createDep$1(() => depsMap.delete(key))); } trackEffect$1( activeEffect$1, dep, !!(process.env.NODE_ENV !== "production") ? { target, type, key } : void 0 ); } } function trigger$1(target, type, key, newValue, oldValue, oldTarget) { const depsMap = targetMap$1.get(target); if (!depsMap) { return; } let deps = []; if (type === "clear") { deps = [...depsMap.values()]; } else if (key === "length" && isArray(target)) { const newLength = Number(newValue); depsMap.forEach((dep, key2) => { if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) { deps.push(dep); } }); } else { if (key !== void 0) { deps.push(depsMap.get(key)); } switch (type) { case "add": if (!isArray(target)) { deps.push(depsMap.get(ITERATE_KEY$1)); if (isMap(target)) { deps.push(depsMap.get(MAP_KEY_ITERATE_KEY$1)); } } else if (isIntegerKey(key)) { deps.push(depsMap.get("length")); } break; case "delete": if (!isArray(target)) { deps.push(depsMap.get(ITERATE_KEY$1)); if (isMap(target)) { deps.push(depsMap.get(MAP_KEY_ITERATE_KEY$1)); } } break; case "set": if (isMap(target)) { deps.push(depsMap.get(ITERATE_KEY$1)); } break; } } pauseScheduling$1(); for (const dep of deps) { if (dep) { triggerEffects$1( dep, 4, !!(process.env.NODE_ENV !== "production") ? { target, type, key, newValue, oldValue, oldTarget } : void 0 ); } } resetScheduling$1(); } const isNonTrackableKeys$1 = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); const builtInSymbols$1 = new Set( /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) ); const arrayInstrumentations$1 = /* @__PURE__ */ createArrayInstrumentations$1(); function createArrayInstrumentations$1() { const instrumentations = {}; ["includes", "indexOf", "lastIndexOf"].forEach((key) => { instrumentations[key] = function(...args) { const arr = toRaw$1(this); for (let i = 0, l = this.length; i < l; i++) { track$1(arr, "get", i + ""); } const res = arr[key](...args); if (res === -1 || res === false) { return arr[key](...args.map(toRaw$1)); } else { return res; } }; }); ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { instrumentations[key] = function(...args) { pauseTracking$1(); pauseScheduling$1(); const res = toRaw$1(this)[key].apply(this, args); resetScheduling$1(); resetTracking$1(); return res; }; }); return instrumentations; } function hasOwnProperty$1(key) { const obj = toRaw$1(this); track$1(obj, "has", key); return obj.hasOwnProperty(key); } let BaseReactiveHandler$1 = class BaseReactiveHandler { constructor(_isReadonly = false, _isShallow = false) { this._isReadonly = _isReadonly; this._isShallow = _isShallow; } get(target, key, receiver) { 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$1 : readonlyMap$1 : isShallow2 ? shallowReactiveMap$1 : reactiveMap$1).get(target) || // receiver is not the reactive proxy, but has the same prototype // this means the reciever is a user proxy of the reactive proxy Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { return target; } return; } const targetIsArray = isArray(target); if (!isReadonly2) { if (targetIsArray && hasOwn(arrayInstrumentations$1, key)) { return Reflect.get(arrayInstrumentations$1, key, receiver); } if (key === "hasOwnProperty") { return hasOwnProperty$1; } } const res = Reflect.get(target, key, receiver); if (isSymbol(key) ? builtInSymbols$1.has(key) : isNonTrackableKeys$1(key)) { return res; } if (!isReadonly2) { track$1(target, "get", key); } if (isShallow2) { return res; } if (isRef$1(res)) { return targetIsArray && isIntegerKey(key) ? res : res.value; } if (isObject(res)) { return isReadonly2 ? readonly$1(res) : reactive$1(res); } return res; } }; let MutableReactiveHandler$1 = class MutableReactiveHandler extends BaseReactiveHandler$1 { constructor(isShallow2 = false) { super(false, isShallow2); } set(target, key, value, receiver) { let oldValue = target[key]; if (!this._isShallow) { const isOldValueReadonly = isReadonly$1(oldValue); if (!isShallow$1(value) && !isReadonly$1(value)) { oldValue = toRaw$1(oldValue); value = toRaw$1(value); } if (!isArray(target) && isRef$1(oldValue) && !isRef$1(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, receiver); if (target === toRaw$1(receiver)) { if (!hadKey) { trigger$1(target, "add", key, value); } else if (hasChanged(value, oldValue)) { trigger$1(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$1(target, "delete", key, void 0, oldValue); } return result; } has(target, key) { const result = Reflect.has(target, key); if (!isSymbol(key) || !builtInSymbols$1.has(key)) { track$1(target, "has", key); } return result; } ownKeys(target) { track$1( target, "iterate", isArray(target) ? "length" : ITERATE_KEY$1 ); return Reflect.ownKeys(target); } }; let ReadonlyReactiveHandler$1 = class ReadonlyReactiveHandler extends BaseReactiveHandler$1 { constructor(isShallow2 = false) { super(true, isShallow2); } set(target, key) { if (!!(process.env.NODE_ENV !== "production")) { warn$4( `Set operation on key "${String(key)}" failed: target is readonly.`, target ); } return true; } deleteProperty(target, key) { if (!!(process.env.NODE_ENV !== "production")) { warn$4( `Delete operation on key "${String(key)}" failed: target is readonly.`, target ); } return true; } }; const mutableHandlers$1 = /* @__PURE__ */ new MutableReactiveHandler$1(); const readonlyHandlers$1 = /* @__PURE__ */ new ReadonlyReactiveHandler$1(); const shallowReadonlyHandlers$1 = /* @__PURE__ */ new ReadonlyReactiveHandler$1(true); const toShallow$1 = (value) => value; const getProto$1 = (v) => Reflect.getPrototypeOf(v); function get$1(target, key, isReadonly = false, isShallow = false) { target = target["__v_raw"]; const rawTarget = toRaw$1(target); const rawKey = toRaw$1(key); if (!isReadonly) { if (hasChanged(key, rawKey)) { track$1(rawTarget, "get", key); } track$1(rawTarget, "get", rawKey); } const { has: has2 } = getProto$1(rawTarget); const wrap = isShallow ? toShallow$1 : isReadonly ? toReadonly$1 : toReactive$1; if (has2.call(rawTarget, key)) { return wrap(target.get(key)); } else if (has2.call(rawTarget, rawKey)) { return wrap(target.get(rawKey)); } else if (target !== rawTarget) { target.get(key); } } function has$1(key, isReadonly = false) { const target = this["__v_raw"]; const rawTarget = toRaw$1(target); const rawKey = toRaw$1(key); if (!isReadonly) { if (hasChanged(key, rawKey)) { track$1(rawTarget, "has", key); } track$1(rawTarget, "has", rawKey); } return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); } function size$1(target, isReadonly = false) { target = target["__v_raw"]; !isReadonly && track$1(toRaw$1(target), "iterate", ITERATE_KEY$1); return Reflect.get(target, "size", target); } function add$1(value) { value = toRaw$1(value); const target = toRaw$1(this); const proto = getProto$1(target); const hadKey = proto.has.call(target, value); if (!hadKey) { target.add(value); trigger$1(target, "add", value, value); } return this; } function set$2(key, value) { value = toRaw$1(value); const target = toRaw$1(this); const { has: has2, get: get2 } = getProto$1(target); let hadKey = has2.call(target, key); if (!hadKey) { key = toRaw$1(key); hadKey = has2.call(target, key); } else if (!!(process.env.NODE_ENV !== "production")) { checkIdentityKeys$1(target, has2, key); } const oldValue = get2.call(target, key); target.set(key, value); if (!hadKey) { trigger$1(target, "add", key, value); } else if (hasChanged(value, oldValue)) { trigger$1(target, "set", key, value, oldValue); } return this; } function deleteEntry$1(key) { const target = toRaw$1(this); const { has: has2, get: get2 } = getProto$1(target); let hadKey = has2.call(target, key); if (!hadKey) { key = toRaw$1(key); hadKey = has2.call(target, key); } else if (!!(process.env.NODE_ENV !== "production")) { checkIdentityKeys$1(target, has2, key); } const oldValue = get2 ? get2.call(target, key) : void 0; const result = target.delete(key); if (hadKey) { trigger$1(target, "delete", key, void 0, oldValue); } return result; } function clear$1() { const target = toRaw$1(this); const hadItems = target.size !== 0; const oldTarget = !!(process.env.NODE_ENV !== "production") ? isMap(target) ? new Map(target) : new Set(target) : void 0; const result = target.clear(); if (hadItems) { trigger$1(target, "clear", void 0, void 0, oldTarget); } return result; } function createForEach$1(isReadonly, isShallow) { return function forEach(callback, thisArg) { const observed = this; const target = observed["__v_raw"]; const rawTarget = toRaw$1(target); const wrap = isShallow ? toShallow$1 : isReadonly ? toReadonly$1 : toReactive$1; !isReadonly && track$1(rawTarget, "iterate", ITERATE_KEY$1); return target.forEach((value, key) => { return callback.call(thisArg, wrap(value), wrap(key), observed); }); }; } function createIterableMethod$1(method, isReadonly, isShallow) { return function(...args) { const target = this["__v_raw"]; const rawTarget = toRaw$1(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 = isShallow ? toShallow$1 : isReadonly ? toReadonly$1 : toReactive$1; !isReadonly && track$1( rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY$1 : ITERATE_KEY$1 ); return { // iterator protocol next() { const { value, done } = innerIterator.next(); return done ? { value, done } : { value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), done }; }, // iterable protocol [Symbol.iterator]() { return this; } }; }; } function createReadonlyMethod$1(type) { return function(...args) { if (!!(process.env.NODE_ENV !== "production")) { const key = args[0] ? `on key "${args[0]}" ` : ``; warn$4( `${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw$1(this) ); } return type === "delete" ? false : type === "clear" ? void 0 : this; }; } function createInstrumentations$1() { const mutableInstrumentations2 = { get(key) { return get$1(this, key); }, get size() { return size$1(this); }, has: has$1, add: add$1, set: set$2, delete: deleteEntry$1, clear: clear$1, forEach: createForEach$1(false, false) }; const shallowInstrumentations2 = { get(key) { return get$1(this, key, false, true); }, get size() { return size$1(this); }, has: has$1, add: add$1, set: set$2, delete: deleteEntry$1, clear: clear$1, forEach: createForEach$1(false, true) }; const readonlyInstrumentations2 = { get(key) { return get$1(this, key, true); }, get size() { return size$1(this, true); }, has(key) { return has$1.call(this, key, true); }, add: createReadonlyMethod$1("add"), set: createReadonlyMethod$1("set"), delete: createReadonlyMethod$1("delete"), clear: createReadonlyMethod$1("clear"), forEach: createForEach$1(true, false) }; const shallowReadonlyInstrumentations2 = { get(key) { return get$1(this, key, true, true); }, get size() { return size$1(this, true); }, has(key) { return has$1.call(this, key, true); }, add: createReadonlyMethod$1("add"), set: createReadonlyMethod$1("set"), delete: createReadonlyMethod$1("delete"), clear: createReadonlyMethod$1("clear"), forEach: createForEach$1(true, true) }; const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; iteratorMethods.forEach((method) => { mutableInstrumentations2[method] = createIterableMethod$1( method, false, false ); readonlyInstrumentations2[method] = createIterableMethod$1( method, true, false ); shallowInstrumentations2[method] = createIterableMethod$1( method, false, true ); shallowReadonlyInstrumentations2[method] = createIterableMethod$1( method, true, true ); }); return [ mutableInstrumentations2, readonlyInstrumentations2, shallowInstrumentations2, shallowReadonlyInstrumentations2 ]; } const [ mutableInstrumentations$1, readonlyInstrumentations$1, shallowInstrumentations$1, shallowReadonlyInstrumentations$1 ] = /* @__PURE__ */ createInstrumentations$1(); function createInstrumentationGetter$1(isReadonly, shallow) { const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations$1 : shallowInstrumentations$1 : isReadonly ? readonlyInstrumentations$1 : mutableInstrumentations$1; return (target, key, receiver) => { if (key === "__v_isReactive") { return !isReadonly; } else if (key === "__v_isReadonly") { return isReadonly; } else if (key === "__v_raw") { return target; } return Reflect.get( hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver ); }; } const mutableCollectionHandlers$1 = { get: /* @__PURE__ */ createInstrumentationGetter$1(false, false) }; const readonlyCollectionHandlers$1 = { get: /* @__PURE__ */ createInstrumentationGetter$1(true, false) }; const shallowReadonlyCollectionHandlers$1 = { get: /* @__PURE__ */ createInstrumentationGetter$1(true, true) }; function checkIdentityKeys$1(target, has2, key) { const rawKey = toRaw$1(key); if (rawKey !== key && has2.call(target, rawKey)) { const type = toRawType(target); warn$4( `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` ); } } const reactiveMap$1 = /* @__PURE__ */ new WeakMap(); const shallowReactiveMap$1 = /* @__PURE__ */ new WeakMap(); const readonlyMap$1 = /* @__PURE__ */ new WeakMap(); const shallowReadonlyMap$1 = /* @__PURE__ */ new WeakMap(); function targetTypeMap$1(rawType) { switch (rawType) { case "Object": case "Array": return 1 /* COMMON */; case "Map": case "Set": case "WeakMap": case "WeakSet": return 2 /* COLLECTION */; default: return 0 /* INVALID */; } } function getTargetType$1(value) { return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap$1(toRawType(value)); } function reactive$1(target) { if (isReadonly$1(target)) { return target; } return createReactiveObject$1( target, false, mutableHandlers$1, mutableCollectionHandlers$1, reactiveMap$1 ); } function readonly$1(target) { return createReactiveObject$1( target, true, readonlyHandlers$1, readonlyCollectionHandlers$1, readonlyMap$1 ); } function shallowReadonly$1(target) { return createReactiveObject$1( target, true, shallowReadonlyHandlers$1, shallowReadonlyCollectionHandlers$1, shallowReadonlyMap$1 ); } function createReactiveObject$1(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { if (!isObject(target)) { if (!!(process.env.NODE_ENV !== "production")) { warn$4(`value cannot be made reactive: ${String(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$1(target); if (targetType === 0 /* INVALID */) { return target; } const proxy = new Proxy( target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers ); proxyMap.set(target, proxy); return proxy; } function isReactive$1(value) { if (isReadonly$1(value)) { return isReactive$1(value["__v_raw"]); } return !!(value && value["__v_isReactive"]); } function isReadonly$1(value) { return !!(value && value["__v_isReadonly"]); } function isShallow$1(value) { return !!(value && value["__v_isShallow"]); } function isProxy$1(value) { return isReactive$1(value) || isReadonly$1(value); } function toRaw$1(observed) { const raw = observed && observed["__v_raw"]; return raw ? toRaw$1(raw) : observed; } function markRaw$1(value) { if (Object.isExtensible(value)) { def(value, "__v_skip", true); } return value; } const toReactive$1 = (value) => isObject(value) ? reactive$1(value) : value; const toReadonly$1 = (value) => isObject(value) ? readonly$1(value) : value; function isRef$1(r) { return !!(r && r.__v_isRef === true); } function unref$1(ref2) { return isRef$1(ref2) ? ref2.value : ref2; } const shallowUnwrapHandlers$1 = { get: (target, key, receiver) => unref$1(Reflect.get(target, key, receiver)), set: (target, key, value, receiver) => { const oldValue = target[key]; if (isRef$1(oldValue) && !isRef$1(value)) { oldValue.value = value; return true; } else { return Reflect.set(target, key, value, receiver); } } }; function proxyRefs$1(objectWithRefs) { return isReactive$1(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers$1); } /** * @vue/runtime-core v3.4.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ const stack$1 = []; function pushWarningContext$1(vnode) { stack$1.push(vnode); } function popWarningContext$1() { stack$1.pop(); } function warn$1$1(msg, ...args) { pauseTracking$1(); const instance = stack$1.length ? stack$1[stack$1.length - 1].component : null; const appWarnHandler = instance && instance.appContext.config.warnHandler; const trace = getComponentTrace$1(); if (appWarnHandler) { callWithErrorHandling$1( appWarnHandler, instance, 11, [ msg + args.map((a) => { var _a, _b; return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); }).join(""), instance && instance.proxy, trace.map( ({ vnode }) => `at <${formatComponentName$1(instance, vnode.type)}>` ).join("\n"), trace ] ); } else { const warnArgs = [`[Vue warn]: ${msg}`, ...args]; if (trace.length && // avoid spamming console during tests true) { warnArgs.push(` `, ...formatTrace$1(trace)); } console.warn(...warnArgs); } resetTracking$1(); } function getComponentTrace$1() { let currentVNode = stack$1[stack$1.length - 1]; if (!currentVNode) { return []; } const normalizedStack = []; while (currentVNode) { const last = normalizedStack[0]; if (last && last.vnode === currentVNode) { last.recurseCount++; } else { normalizedStack.push({ vnode: currentVNode, recurseCount: 0 }); } const parentInstance = currentVNode.component && currentVNode.component.parent; currentVNode = parentInstance && parentInstance.vnode; } return normalizedStack; } function formatTrace$1(trace) { const logs = []; trace.forEach((entry, i) => { logs.push(...i === 0 ? [] : [` `], ...formatTraceEntry$1(entry)); }); return logs; } function formatTraceEntry$1({ vnode, recurseCount }) { const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; const isRoot = vnode.component ? vnode.component.parent == null : false; const open = ` at <${formatComponentName$1( vnode.component, vnode.type, isRoot )}`; const close = `>` + postfix; return vnode.props ? [open, ...formatProps$1(vnode.props), close] : [open + close]; } function formatProps$1(props) { const res = []; const keys = Object.keys(props); keys.slice(0, 3).forEach((key) => { res.push(...formatProp$1(key, props[key])); }); if (keys.length > 3) { res.push(` ...`); } return res; } function formatProp$1(key, value, raw) { if (isString(value)) { value = JSON.stringify(value); return raw ? value : [`${key}=${value}`]; } else if (typeof value === "number" || typeof value === "boolean" || value == null) { return raw ? value : [`${key}=${value}`]; } else if (isRef$1(value)) { value = formatProp$1(key, toRaw$1(value.value), true); return raw ? value : [`${key}=Ref<`, value, `>`]; } else if (isFunction(value)) { return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; } else { value = toRaw$1(value); return raw ? value : [`${key}=`, value]; } } const 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. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." }; function callWithErrorHandling$1(fn, instance, type, args) { try { return args ? fn(...args) : fn(); } catch (err) { handleError$1(err, instance, type); } } function callWithAsyncErrorHandling$1(fn, instance, type, args) { if (isFunction(fn)) { const res = callWithErrorHandling$1(fn, instance, type, args); if (res && isPromise(res)) { res.catch((err) => { handleError$1(err, instance, type); }); } return res; } const values = []; for (let i = 0; i < fn.length; i++) { values.push(callWithAsyncErrorHandling$1(fn[i], instance, type, args)); } return values; } function handleError$1(err, instance, type, throwInDev = true) { const contextVNode = instance ? instance.vnode : null; if (instance) { let cur = instance.parent; const exposedInstance = instance.proxy; const errorInfo = !!(process.env.NODE_ENV !== "production") ? ErrorTypeStrings$1[type] : `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; } const appErrorHandler = instance.appContext.config.errorHandler; if (appErrorHandler) { callWithErrorHandling$1( appErrorHandler, null, 10, [err, exposedInstance, errorInfo] ); return; } } logError$1(err, type, contextVNode, throwInDev); } function logError$1(err, type, contextVNode, throwInDev = true) { if (!!(process.env.NODE_ENV !== "production")) { const info = ErrorTypeStrings$1[type]; if (contextVNode) { pushWarningContext$1(contextVNode); } warn$1$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); if (contextVNode) { popWarningContext$1(); } if (throwInDev) { throw err; } else { console.error(err); } } else { console.error(err); } } let isFlushing$1 = false; let isFlushPending$1 = false; const queue$1 = []; let flushIndex$1 = 0; const pendingPostFlushCbs$1 = []; let activePostFlushCbs$1 = null; let postFlushIndex$1 = 0; const resolvedPromise$1 = /* @__PURE__ */ Promise.resolve(); let currentFlushPromise$1 = null; const RECURSION_LIMIT$1 = 100; function nextTick$2(fn) { const p = currentFlushPromise$1 || resolvedPromise$1; return fn ? p.then(this ? fn.bind(this) : fn) : p; } function findInsertionIndex$1(id) { let start = flushIndex$1 + 1; let end = queue$1.length; while (start < end) { const middle = start + end >>> 1; const middleJob = queue$1[middle]; const middleJobId = getId$1(middleJob); if (middleJobId < id || middleJobId === id && middleJob.pre) { start = middle + 1; } else { end = middle; } } return start; } function queueJob$1(job) { if (!queue$1.length || !queue$1.includes( job, isFlushing$1 && job.allowRecurse ? flushIndex$1 + 1 : flushIndex$1 )) { if (job.id == null) { queue$1.push(job); } else { queue$1.splice(findInsertionIndex$1(job.id), 0, job); } queueFlush$1(); } } function queueFlush$1() { if (!isFlushing$1 && !isFlushPending$1) { isFlushPending$1 = true; currentFlushPromise$1 = resolvedPromise$1.then(flushJobs$1); } } function queuePostFlushCb$1(cb) { if (!isArray(cb)) { if (!activePostFlushCbs$1 || !activePostFlushCbs$1.includes( cb, cb.allowRecurse ? postFlushIndex$1 + 1 : postFlushIndex$1 )) { pendingPostFlushCbs$1.push(cb); } } else { pendingPostFlushCbs$1.push(...cb); } queueFlush$1(); } function flushPostFlushCbs$1(seen) { if (pendingPostFlushCbs$1.length) { const deduped = [...new Set(pendingPostFlushCbs$1)].sort( (a, b) => getId$1(a) - getId$1(b) ); pendingPostFlushCbs$1.length = 0; if (activePostFlushCbs$1) { activePostFlushCbs$1.push(...deduped); return; } activePostFlushCbs$1 = deduped; if (!!(process.env.NODE_ENV !== "production")) { seen = seen || /* @__PURE__ */ new Map(); } for (postFlushIndex$1 = 0; postFlushIndex$1 < activePostFlushCbs$1.length; postFlushIndex$1++) { if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates$1(seen, activePostFlushCbs$1[postFlushIndex$1])) { continue; } activePostFlushCbs$1[postFlushIndex$1](); } activePostFlushCbs$1 = null; postFlushIndex$1 = 0; } } const getId$1 = (job) => job.id == null ? Infinity : job.id; const comparator$1 = (a, b) => { const diff = getId$1(a) - getId$1(b); if (diff === 0) { if (a.pre && !b.pre) return -1; if (b.pre && !a.pre) return 1; } return diff; }; function flushJobs$1(seen) { isFlushPending$1 = false; isFlushing$1 = true; if (!!(process.env.NODE_ENV !== "production")) { seen = seen || /* @__PURE__ */ new Map(); } queue$1.sort(comparator$1); const check = !!(process.env.NODE_ENV !== "production") ? (job) => checkRecursiveUpdates$1(seen, job) : NOOP; try { for (flushIndex$1 = 0; flushIndex$1 < queue$1.length; flushIndex$1++) { const job = queue$1[flushIndex$1]; if (job && job.active !== false) { if (!!(process.env.NODE_ENV !== "production") && check(job)) { continue; } callWithErrorHandling$1(job, null, 14); } } } finally { flushIndex$1 = 0; queue$1.length = 0; flushPostFlushCbs$1(seen); isFlushing$1 = false; currentFlushPromise$1 = null; if (queue$1.length || pendingPostFlushCbs$1.length) { flushJobs$1(seen); } } } function checkRecursiveUpdates$1(seen, fn) { if (!seen.has(fn)) { seen.set(fn, 1); } else { const count = seen.get(fn); if (count > RECURSION_LIMIT$1) { const instance = fn.ownerInstance; const componentName = instance && getComponentName$1(instance.type); handleError$1( `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, null, 10 ); return true; } else { seen.set(fn, count + 1); } } } const hmrDirtyComponents = /* @__PURE__ */ new Set(); if (!!(process.env.NODE_ENV !== "production")) { getGlobalThis().__VUE_HMR_RUNTIME__ = { createRecord: tryWrap(createRecord), rerender: tryWrap(rerender), reload: tryWrap(reload) }; } const map = /* @__PURE__ */ new Map(); function createRecord(id, initialDef) { if (map.has(id)) { return false; } map.set(id, { initialDef: normalizeClassComponent(initialDef), instances: /* @__PURE__ */ new Set() }); return true; } function normalizeClassComponent(component) { return isClassComponent$1(component) ? component.__vccOpts : component; } function rerender(id, newRender) { const record = map.get(id); if (!record) { return; } record.initialDef.render = newRender; [...record.instances].forEach((instance) => { if (newRender) { instance.render = newRender; normalizeClassComponent(instance.type).render = newRender; } instance.renderCache = []; instance.effect.dirty = true; instance.update(); }); } function reload(id, newComp) { const record = map.get(id); if (!record) return; newComp = normalizeClassComponent(newComp); updateComponentDef(record.initialDef, newComp); const instances = [...record.instances]; for (const instance of instances) { const oldComp = normalizeClassComponent(instance.type); if (!hmrDirtyComponents.has(oldComp)) { if (oldComp !== record.initialDef) { updateComponentDef(oldComp, newComp); } hmrDirtyComponents.add(oldComp); } instance.appContext.propsCache.delete(instance.type); instance.appContext.emitsCache.delete(instance.type); instance.appContext.optionsCache.delete(instance.type); if (instance.ceReload) { hmrDirtyComponents.add(oldComp); instance.ceReload(newComp.styles); hmrDirtyComponents.delete(oldComp); } else if (instance.parent) { instance.parent.effect.dirty = true; queueJob$1(instance.parent.update); } else if (instance.appContext.reload) { instance.appContext.reload(); } else if (typeof window !== "undefined") { window.location.reload(); } else { console.warn( "[HMR] Root or manually mounted instance modified. Full reload required." ); } } queuePostFlushCb$1(() => { for (const instance of instances) { hmrDirtyComponents.delete( normalizeClassComponent(instance.type) ); } }); } function updateComponentDef(oldComp, newComp) { extend(oldComp, newComp); for (const key in oldComp) { if (key !== "__file" && !(key in newComp)) { delete oldComp[key]; } } } function tryWrap(fn) { return (id, arg) => { try { return fn(id, arg); } catch (e) { console.error(e); console.warn( `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` ); } }; } let devtools$1; let buffer$1 = []; function setDevtoolsHook$1(hook, target) { var _a, _b; devtools$1 = hook; if (devtools$1) { devtools$1.enabled = true; buffer$1.forEach(({ event, args }) => devtools$1.emit(event, ...args)); buffer$1 = []; } else if ( // handle late devtools injection - only do this if we are in an actual // browser environment to avoid the timer handle stalling test runner exit // (#4815) typeof window !== "undefined" && // some envs mock window but not fully window.HTMLElement && // also exclude jsdom !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) ) { const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; replay.push((newHook) => { setDevtoolsHook$1(newHook, target); }); setTimeout(() => { if (!devtools$1) { target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; buffer$1 = []; } }, 3e3); } else { buffer$1 = []; } } let currentRenderingInstance$1 = null; let currentScopeId$1 = null; function markAttrsAccessed$1() { } const NULL_DYNAMIC_COMPONENT$1 = Symbol.for("v-ndc"); const isSuspense = (type) => type.__isSuspense; function queueEffectWithSuspense(fn, suspense) { if (suspense && suspense.pendingBranch) { if (isArray(fn)) { suspense.effects.push(...fn); } else { suspense.effects.push(fn); } } else { queuePostFlushCb$1(fn); } } const ssrContextKey$1 = Symbol.for("v-scx"); const useSSRContext$1 = () => { { const ctx = inject$1(ssrContextKey$1); if (!ctx) { !!(process.env.NODE_ENV !== "production") && warn$1$1( `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.` ); } return ctx; } }; const INITIAL_WATCHER_VALUE$1 = {}; function doWatch$1(source, cb, { immediate, deep, flush, once, onTrack, onTrigger } = EMPTY_OBJ) { if (cb && once) { const _cb = cb; cb = (...args) => { _cb(...args); unwatch(); }; } if (!!(process.env.NODE_ENV !== "production") && deep !== void 0 && typeof deep === "number") { warn$1$1( `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.` ); } if (!!(process.env.NODE_ENV !== "production") && !cb) { if (immediate !== void 0) { warn$1$1( `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` ); } if (deep !== void 0) { warn$1$1( `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` ); } if (once !== void 0) { warn$1$1( `watch() "once" option is only respected when using the watch(source, callback, options?) signature.` ); } } const warnInvalidSource = (s) => { warn$1$1( `Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` ); }; const instance = currentInstance$1; const reactiveGetter = (source2) => deep === true ? source2 : ( // for deep: false, only traverse root-level properties traverse$1(source2, deep === false ? 1 : void 0) ); let getter; let forceTrigger = false; let isMultiSource = false; if (isRef$1(source)) { getter = () => source.value; forceTrigger = isShallow$1(source); } else if (isReactive$1(source)) { getter = () => reactiveGetter(source); forceTrigger = true; } else if (isArray(source)) { isMultiSource = true; forceTrigger = source.some((s) => isReactive$1(s) || isShallow$1(s)); getter = () => source.map((s) => { if (isRef$1(s)) { return s.value; } else if (isReactive$1(s)) { return reactiveGetter(s); } else if (isFunction(s)) { return callWithErrorHandling$1(s, instance, 2); } else { !!(process.env.NODE_ENV !== "production") && warnInvalidSource(s); } }); } else if (isFunction(source)) { if (cb) { getter = () => callWithErrorHandling$1(source, instance, 2); } else { getter = () => { if (cleanup) { cleanup(); } return callWithAsyncErrorHandling$1( source, instance, 3, [onCleanup] ); }; } } else { getter = NOOP; !!(process.env.NODE_ENV !== "production") && warnInvalidSource(source); } if (cb && deep) { const baseGetter = getter; getter = () => traverse$1(baseGetter()); } let cleanup; let onCleanup = (fn) => { cleanup = effect.onStop = () => { callWithErrorHandling$1(fn, instance, 4); cleanup = effect.onStop = void 0; }; }; let ssrCleanup; if (isInSSRComponentSetup$1) { onCleanup = NOOP; if (!cb) { getter(); } else if (immediate) { callWithAsyncErrorHandling$1(cb, instance, 3, [ getter(), isMultiSource ? [] : void 0, onCleanup ]); } if (flush === "sync") { const ctx = useSSRContext$1(); ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); } else { return NOOP; } } let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE$1) : INITIAL_WATCHER_VALUE$1; const job = () => { if (!effect.active || !effect.dirty) { return; } if (cb) { const newValue = effect.run(); if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { if (cleanup) { cleanup(); } callWithAsyncErrorHandling$1(cb, instance, 3, [ newValue, // pass undefined as the old value when it's changed for the first time oldValue === INITIAL_WATCHER_VALUE$1 ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE$1 ? [] : oldValue, onCleanup ]); oldValue = newValue; } } else { effect.run(); } }; job.allowRecurse = !!cb; let scheduler; if (flush === "sync") { scheduler = job; } else if (flush === "post") { scheduler = () => queuePostRenderEffect$2(job, instance && instance.suspense); } else { job.pre = true; if (instance) job.id = instance.uid; scheduler = () => queueJob$1(job); } const effect = new ReactiveEffect$1(getter, NOOP, scheduler); const unwatch = () => { effect.stop(); }; if (!!(process.env.NODE_ENV !== "production")) { effect.onTrack = onTrack; effect.onTrigger = onTrigger; } if (cb) { if (immediate) { job(); } else { oldValue = effect.run(); } } else if (flush === "post") { queuePostRenderEffect$2( effect.run.bind(effect), instance && instance.suspense ); } else { effect.run(); } if (ssrCleanup) ssrCleanup.push(unwatch); return unwatch; } function instanceWatch$1(source, value, options) { const publicThis = this.proxy; const getter = isString(source) ? source.includes(".") ? createPathGetter$1(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); let cb; if (isFunction(value)) { cb = value; } else { cb = value.handler; options = value; } const reset = setCurrentInstance$1(this); const res = doWatch$1(getter, cb.bind(publicThis), options); reset(); return res; } function createPathGetter$1(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 traverse$1(value, depth, currentDepth = 0, seen) { if (!isObject(value) || value["__v_skip"]) { return value; } if (depth && depth > 0) { if (currentDepth >= depth) { return value; } currentDepth++; } seen = seen || /* @__PURE__ */ new Set(); if (seen.has(value)) { return value; } seen.add(value); if (isRef$1(value)) { traverse$1(value.value, depth, currentDepth, seen); } else if (isArray(value)) { for (let i = 0; i < value.length; i++) { traverse$1(value[i], depth, currentDepth, seen); } } else if (isSet(value) || isMap(value)) { value.forEach((v) => { traverse$1(v, depth, currentDepth, seen); }); } else if (isPlainObject(value)) { for (const key in value) { traverse$1(value[key], depth, currentDepth, seen); } } return value; } const getPublicInstance$1 = (i) => { if (!i) return null; if (isStatefulComponent$1(i)) return getExposeProxy$1(i) || i.proxy; return getPublicInstance$1(i.parent); }; const publicPropertiesMap$1 = ( // Move PURE marker to new line to workaround compiler discarding it // due to type annotation /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { $: (i) => i, $el: (i) => i.vnode.el, $data: (i) => i.data, $props: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly$1(i.props) : i.props, $attrs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly$1(i.attrs) : i.attrs, $slots: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly$1(i.slots) : i.slots, $refs: (i) => !!(process.env.NODE_ENV !== "production") ? shallowReadonly$1(i.refs) : i.refs, $parent: (i) => getPublicInstance$1(i.parent), $root: (i) => getPublicInstance$1(i.root), $emit: (i) => i.emit, $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions$1(i) : i.type, $forceUpdate: (i) => i.f || (i.f = () => { i.effect.dirty = true; queueJob$1(i.update); }), $nextTick: (i) => i.n || (i.n = nextTick$2.bind(i.proxy)), $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch$1.bind(i) : NOOP }) ); const isReservedPrefix$1 = (key) => key === "_" || key === "$"; const hasSetupBinding$1 = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); const PublicInstanceProxyHandlers$1 = { get({ _: instance }, key) { const { ctx, setupState, data, props, accessCache, type, appContext } = instance; if (!!(process.env.NODE_ENV !== "production") && key === "__isVue") { return true; } let normalizedProps; if (key[0] !== "$") { const n = accessCache[key]; if (n !== void 0) { switch (n) { case 1 /* SETUP */: return setupState[key]; case 2 /* DATA */: return data[key]; case 4 /* CONTEXT */: return ctx[key]; case 3 /* PROPS */: return props[key]; } } else if (hasSetupBinding$1(setupState, key)) { accessCache[key] = 1 /* SETUP */; return setupState[key]; } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { accessCache[key] = 2 /* DATA */; return data[key]; } else if ( // only cache other properties when instance has declared (thus stable) // props (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) ) { accessCache[key] = 3 /* PROPS */; return props[key]; } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { accessCache[key] = 4 /* CONTEXT */; return ctx[key]; } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess$1) { accessCache[key] = 0 /* OTHER */; } } const publicGetter = publicPropertiesMap$1[key]; let cssModule, globalProperties; if (publicGetter) { if (key === "$attrs") { track$1(instance, "get", key); !!(process.env.NODE_ENV !== "production") && markAttrsAccessed$1(); } else if (!!(process.env.NODE_ENV !== "production") && key === "$slots") { track$1(instance, "get", key); } return publicGetter(instance); } else if ( // css module (injected by vue-loader) (cssModule = type.__cssModules) && (cssModule = cssModule[key]) ) { return cssModule; } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { accessCache[key] = 4 /* CONTEXT */; return ctx[key]; } else if ( // global properties globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) ) { { return globalProperties[key]; } } else if (!!(process.env.NODE_ENV !== "production") && currentRenderingInstance$1 && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading // to infinite warning loop key.indexOf("__v") !== 0)) { if (data !== EMPTY_OBJ && isReservedPrefix$1(key[0]) && hasOwn(data, key)) { warn$1$1( `Property ${JSON.stringify( key )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` ); } else if (instance === currentRenderingInstance$1) { warn$1$1( `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` ); } } }, set({ _: instance }, key, value) { const { data, setupState, ctx } = instance; if (hasSetupBinding$1(setupState, key)) { setupState[key] = value; return true; } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn(setupState, key)) { warn$1$1(`Cannot mutate