| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185 | 
							- /**
 
- * @vue/reactivity v3.4.23
 
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
 
- * @license MIT
 
- **/
 
- 'use strict';
 
- Object.defineProperty(exports, '__esModule', { value: true });
 
- var shared = require('@vue/shared');
 
- let activeEffectScope;
 
- class EffectScope {
 
-   constructor(detached = false) {
 
-     this.detached = detached;
 
-     /**
 
-      * @internal
 
-      */
 
-     this._active = true;
 
-     /**
 
-      * @internal
 
-      */
 
-     this.effects = [];
 
-     /**
 
-      * @internal
 
-      */
 
-     this.cleanups = [];
 
-     this.parent = activeEffectScope;
 
-     if (!detached && activeEffectScope) {
 
-       this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
 
-         this
 
-       ) - 1;
 
-     }
 
-   }
 
-   get active() {
 
-     return this._active;
 
-   }
 
-   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) {
 
-       let i, l;
 
-       for (i = 0, l = this.effects.length; i < l; i++) {
 
-         this.effects[i].stop();
 
-       }
 
-       for (i = 0, l = this.cleanups.length; i < l; i++) {
 
-         this.cleanups[i]();
 
-       }
 
-       if (this.scopes) {
 
-         for (i = 0, l = this.scopes.length; i < l; i++) {
 
-           this.scopes[i].stop(true);
 
-         }
 
-       }
 
-       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;
 
-       this._active = false;
 
-     }
 
-   }
 
- }
 
- function effectScope(detached) {
 
-   return new EffectScope(detached);
 
- }
 
- function recordEffectScope(effect, scope = activeEffectScope) {
 
-   if (scope && scope.active) {
 
-     scope.effects.push(effect);
 
-   }
 
- }
 
- function getCurrentScope() {
 
-   return activeEffectScope;
 
- }
 
- function onScopeDispose(fn) {
 
-   if (activeEffectScope) {
 
-     activeEffectScope.cleanups.push(fn);
 
-   }
 
- }
 
- let activeEffect;
 
- 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(this, scope);
 
-   }
 
-   get dirty() {
 
-     if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
 
-       this._dirtyLevel = 1;
 
-       pauseTracking();
 
-       for (let i = 0; i < this._depsLength; i++) {
 
-         const dep = this.deps[i];
 
-         if (dep.computed) {
 
-           triggerComputed(dep.computed);
 
-           if (this._dirtyLevel >= 4) {
 
-             break;
 
-           }
 
-         }
 
-       }
 
-       if (this._dirtyLevel === 1) {
 
-         this._dirtyLevel = 0;
 
-       }
 
-       resetTracking();
 
-     }
 
-     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;
 
-     let lastEffect = activeEffect;
 
-     try {
 
-       shouldTrack = true;
 
-       activeEffect = this;
 
-       this._runnings++;
 
-       preCleanupEffect(this);
 
-       return this.fn();
 
-     } finally {
 
-       postCleanupEffect(this);
 
-       this._runnings--;
 
-       activeEffect = lastEffect;
 
-       shouldTrack = lastShouldTrack;
 
-     }
 
-   }
 
-   stop() {
 
-     var _a;
 
-     if (this.active) {
 
-       preCleanupEffect(this);
 
-       postCleanupEffect(this);
 
-       (_a = this.onStop) == null ? void 0 : _a.call(this);
 
-       this.active = false;
 
-     }
 
-   }
 
- }
 
- function triggerComputed(computed) {
 
-   return computed.value;
 
- }
 
- function preCleanupEffect(effect2) {
 
-   effect2._trackId++;
 
-   effect2._depsLength = 0;
 
- }
 
- function postCleanupEffect(effect2) {
 
-   if (effect2.deps.length > effect2._depsLength) {
 
-     for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
 
-       cleanupDepEffect(effect2.deps[i], effect2);
 
-     }
 
-     effect2.deps.length = effect2._depsLength;
 
-   }
 
- }
 
- function cleanupDepEffect(dep, effect2) {
 
-   const trackId = dep.get(effect2);
 
-   if (trackId !== void 0 && effect2._trackId !== trackId) {
 
-     dep.delete(effect2);
 
-     if (dep.size === 0) {
 
-       dep.cleanup();
 
-     }
 
-   }
 
- }
 
- function effect(fn, options) {
 
-   if (fn.effect instanceof ReactiveEffect) {
 
-     fn = fn.effect.fn;
 
-   }
 
-   const _effect = new ReactiveEffect(fn, shared.NOOP, () => {
 
-     if (_effect.dirty) {
 
-       _effect.run();
 
-     }
 
-   });
 
-   if (options) {
 
-     shared.extend(_effect, options);
 
-     if (options.scope)
 
-       recordEffectScope(_effect, options.scope);
 
-   }
 
-   if (!options || !options.lazy) {
 
-     _effect.run();
 
-   }
 
-   const runner = _effect.run.bind(_effect);
 
-   runner.effect = _effect;
 
-   return runner;
 
- }
 
- function stop(runner) {
 
-   runner.effect.stop();
 
- }
 
- let shouldTrack = true;
 
- let pauseScheduleStack = 0;
 
- const trackStack = [];
 
- function pauseTracking() {
 
-   trackStack.push(shouldTrack);
 
-   shouldTrack = false;
 
- }
 
- function enableTracking() {
 
-   trackStack.push(shouldTrack);
 
-   shouldTrack = true;
 
- }
 
- function resetTracking() {
 
-   const last = trackStack.pop();
 
-   shouldTrack = last === void 0 ? true : last;
 
- }
 
- function pauseScheduling() {
 
-   pauseScheduleStack++;
 
- }
 
- function resetScheduling() {
 
-   pauseScheduleStack--;
 
-   while (!pauseScheduleStack && queueEffectSchedulers.length) {
 
-     queueEffectSchedulers.shift()();
 
-   }
 
- }
 
- function trackEffect(effect2, dep, debuggerEventExtraInfo) {
 
-   if (dep.get(effect2) !== effect2._trackId) {
 
-     dep.set(effect2, effect2._trackId);
 
-     const oldDep = effect2.deps[effect2._depsLength];
 
-     if (oldDep !== dep) {
 
-       if (oldDep) {
 
-         cleanupDepEffect(oldDep, effect2);
 
-       }
 
-       effect2.deps[effect2._depsLength++] = dep;
 
-     } else {
 
-       effect2._depsLength++;
 
-     }
 
-   }
 
- }
 
- const queueEffectSchedulers = [];
 
- function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
 
-   pauseScheduling();
 
-   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)) {
 
-       effect2.trigger();
 
-       if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
 
-         effect2._shouldSchedule = false;
 
-         if (effect2.scheduler) {
 
-           queueEffectSchedulers.push(effect2.scheduler);
 
-         }
 
-       }
 
-     }
 
-   }
 
-   resetScheduling();
 
- }
 
- const createDep = (cleanup, computed) => {
 
-   const dep = /* @__PURE__ */ new Map();
 
-   dep.cleanup = cleanup;
 
-   dep.computed = computed;
 
-   return dep;
 
- };
 
- const targetMap = /* @__PURE__ */ new WeakMap();
 
- const ITERATE_KEY = Symbol("");
 
- const MAP_KEY_ITERATE_KEY = Symbol("");
 
- function track(target, type, key) {
 
-   if (shouldTrack && activeEffect) {
 
-     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 = createDep(() => depsMap.delete(key)));
 
-     }
 
-     trackEffect(
 
-       activeEffect,
 
-       dep);
 
-   }
 
- }
 
- function trigger(target, type, key, newValue, oldValue, oldTarget) {
 
-   const depsMap = targetMap.get(target);
 
-   if (!depsMap) {
 
-     return;
 
-   }
 
-   let deps = [];
 
-   if (type === "clear") {
 
-     deps = [...depsMap.values()];
 
-   } else if (key === "length" && shared.isArray(target)) {
 
-     const newLength = Number(newValue);
 
-     depsMap.forEach((dep, key2) => {
 
-       if (key2 === "length" || !shared.isSymbol(key2) && key2 >= newLength) {
 
-         deps.push(dep);
 
-       }
 
-     });
 
-   } else {
 
-     if (key !== void 0) {
 
-       deps.push(depsMap.get(key));
 
-     }
 
-     switch (type) {
 
-       case "add":
 
-         if (!shared.isArray(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-           if (shared.isMap(target)) {
 
-             deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
 
-           }
 
-         } else if (shared.isIntegerKey(key)) {
 
-           deps.push(depsMap.get("length"));
 
-         }
 
-         break;
 
-       case "delete":
 
-         if (!shared.isArray(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-           if (shared.isMap(target)) {
 
-             deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
 
-           }
 
-         }
 
-         break;
 
-       case "set":
 
-         if (shared.isMap(target)) {
 
-           deps.push(depsMap.get(ITERATE_KEY));
 
-         }
 
-         break;
 
-     }
 
-   }
 
-   pauseScheduling();
 
-   for (const dep of deps) {
 
-     if (dep) {
 
-       triggerEffects(
 
-         dep,
 
-         4);
 
-     }
 
-   }
 
-   resetScheduling();
 
- }
 
- function getDepFromReactive(object, key) {
 
-   var _a;
 
-   return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
 
- }
 
- const isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`);
 
- const builtInSymbols = new Set(
 
-   /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(shared.isSymbol)
 
- );
 
- const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
 
- function createArrayInstrumentations() {
 
-   const instrumentations = {};
 
-   ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
 
-     instrumentations[key] = function(...args) {
 
-       const arr = toRaw(this);
 
-       for (let i = 0, l = this.length; i < l; i++) {
 
-         track(arr, "get", i + "");
 
-       }
 
-       const res = arr[key](...args);
 
-       if (res === -1 || res === false) {
 
-         return arr[key](...args.map(toRaw));
 
-       } else {
 
-         return res;
 
-       }
 
-     };
 
-   });
 
-   ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
 
-     instrumentations[key] = function(...args) {
 
-       pauseTracking();
 
-       pauseScheduling();
 
-       const res = toRaw(this)[key].apply(this, args);
 
-       resetScheduling();
 
-       resetTracking();
 
-       return res;
 
-     };
 
-   });
 
-   return instrumentations;
 
- }
 
- function hasOwnProperty(key) {
 
-   if (!shared.isSymbol(key))
 
-     key = String(key);
 
-   const obj = toRaw(this);
 
-   track(obj, "has", key);
 
-   return obj.hasOwnProperty(key);
 
- }
 
- class BaseReactiveHandler {
 
-   constructor(_isReadonly = false, _isShallow = false) {
 
-     this._isReadonly = _isReadonly;
 
-     this._isShallow = _isShallow;
 
-   }
 
-   get(target, key, receiver) {
 
-     const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
 
-     if (key === "__v_isReactive") {
 
-       return !isReadonly2;
 
-     } else if (key === "__v_isReadonly") {
 
-       return isReadonly2;
 
-     } else if (key === "__v_isShallow") {
 
-       return isShallow2;
 
-     } else if (key === "__v_raw") {
 
-       if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
 
-       // this means the reciever is a user proxy of the reactive proxy
 
-       Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
 
-         return target;
 
-       }
 
-       return;
 
-     }
 
-     const targetIsArray = shared.isArray(target);
 
-     if (!isReadonly2) {
 
-       if (targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {
 
-         return Reflect.get(arrayInstrumentations, key, receiver);
 
-       }
 
-       if (key === "hasOwnProperty") {
 
-         return hasOwnProperty;
 
-       }
 
-     }
 
-     const res = Reflect.get(target, key, receiver);
 
-     if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
 
-       return res;
 
-     }
 
-     if (!isReadonly2) {
 
-       track(target, "get", key);
 
-     }
 
-     if (isShallow2) {
 
-       return res;
 
-     }
 
-     if (isRef(res)) {
 
-       return targetIsArray && shared.isIntegerKey(key) ? res : res.value;
 
-     }
 
-     if (shared.isObject(res)) {
 
-       return isReadonly2 ? readonly(res) : reactive(res);
 
-     }
 
-     return res;
 
-   }
 
- }
 
- class MutableReactiveHandler 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 (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {
 
-         if (isOldValueReadonly) {
 
-           return false;
 
-         } else {
 
-           oldValue.value = value;
 
-           return true;
 
-         }
 
-       }
 
-     }
 
-     const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key);
 
-     const result = Reflect.set(target, key, value, receiver);
 
-     if (target === toRaw(receiver)) {
 
-       if (!hadKey) {
 
-         trigger(target, "add", key, value);
 
-       } else if (shared.hasChanged(value, oldValue)) {
 
-         trigger(target, "set", key, value);
 
-       }
 
-     }
 
-     return result;
 
-   }
 
-   deleteProperty(target, key) {
 
-     const hadKey = shared.hasOwn(target, key);
 
-     target[key];
 
-     const result = Reflect.deleteProperty(target, key);
 
-     if (result && hadKey) {
 
-       trigger(target, "delete", key, void 0);
 
-     }
 
-     return result;
 
-   }
 
-   has(target, key) {
 
-     const result = Reflect.has(target, key);
 
-     if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {
 
-       track(target, "has", key);
 
-     }
 
-     return result;
 
-   }
 
-   ownKeys(target) {
 
-     track(
 
-       target,
 
-       "iterate",
 
-       shared.isArray(target) ? "length" : ITERATE_KEY
 
-     );
 
-     return Reflect.ownKeys(target);
 
-   }
 
- }
 
- class ReadonlyReactiveHandler extends BaseReactiveHandler {
 
-   constructor(isShallow2 = false) {
 
-     super(true, isShallow2);
 
-   }
 
-   set(target, key) {
 
-     return true;
 
-   }
 
-   deleteProperty(target, key) {
 
-     return true;
 
-   }
 
- }
 
- const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
 
- const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
 
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
 
-   true
 
- );
 
- const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
 
- const toShallow = (value) => value;
 
- const getProto = (v) => Reflect.getPrototypeOf(v);
 
- function get(target, key, isReadonly = false, isShallow = false) {
 
-   target = target["__v_raw"];
 
-   const rawTarget = toRaw(target);
 
-   const rawKey = toRaw(key);
 
-   if (!isReadonly) {
 
-     if (shared.hasChanged(key, rawKey)) {
 
-       track(rawTarget, "get", key);
 
-     }
 
-     track(rawTarget, "get", rawKey);
 
-   }
 
-   const { has: has2 } = getProto(rawTarget);
 
-   const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-   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(key, isReadonly = false) {
 
-   const target = this["__v_raw"];
 
-   const rawTarget = toRaw(target);
 
-   const rawKey = toRaw(key);
 
-   if (!isReadonly) {
 
-     if (shared.hasChanged(key, rawKey)) {
 
-       track(rawTarget, "has", key);
 
-     }
 
-     track(rawTarget, "has", rawKey);
 
-   }
 
-   return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
 
- }
 
- function size(target, isReadonly = false) {
 
-   target = target["__v_raw"];
 
-   !isReadonly && track(toRaw(target), "iterate", ITERATE_KEY);
 
-   return Reflect.get(target, "size", target);
 
- }
 
- function add(value) {
 
-   value = toRaw(value);
 
-   const target = toRaw(this);
 
-   const proto = getProto(target);
 
-   const hadKey = proto.has.call(target, value);
 
-   if (!hadKey) {
 
-     target.add(value);
 
-     trigger(target, "add", value, value);
 
-   }
 
-   return this;
 
- }
 
- function set(key, value) {
 
-   value = toRaw(value);
 
-   const target = toRaw(this);
 
-   const { has: has2, get: get2 } = getProto(target);
 
-   let hadKey = has2.call(target, key);
 
-   if (!hadKey) {
 
-     key = toRaw(key);
 
-     hadKey = has2.call(target, key);
 
-   }
 
-   const oldValue = get2.call(target, key);
 
-   target.set(key, value);
 
-   if (!hadKey) {
 
-     trigger(target, "add", key, value);
 
-   } else if (shared.hasChanged(value, oldValue)) {
 
-     trigger(target, "set", key, value);
 
-   }
 
-   return this;
 
- }
 
- function deleteEntry(key) {
 
-   const target = toRaw(this);
 
-   const { has: has2, get: get2 } = getProto(target);
 
-   let hadKey = has2.call(target, key);
 
-   if (!hadKey) {
 
-     key = toRaw(key);
 
-     hadKey = has2.call(target, key);
 
-   }
 
-   get2 ? get2.call(target, key) : void 0;
 
-   const result = target.delete(key);
 
-   if (hadKey) {
 
-     trigger(target, "delete", key, void 0);
 
-   }
 
-   return result;
 
- }
 
- function clear() {
 
-   const target = toRaw(this);
 
-   const hadItems = target.size !== 0;
 
-   const result = target.clear();
 
-   if (hadItems) {
 
-     trigger(target, "clear", void 0, void 0);
 
-   }
 
-   return result;
 
- }
 
- function createForEach(isReadonly, isShallow) {
 
-   return function forEach(callback, thisArg) {
 
-     const observed = this;
 
-     const target = observed["__v_raw"];
 
-     const rawTarget = toRaw(target);
 
-     const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-     !isReadonly && track(rawTarget, "iterate", ITERATE_KEY);
 
-     return target.forEach((value, key) => {
 
-       return callback.call(thisArg, wrap(value), wrap(key), observed);
 
-     });
 
-   };
 
- }
 
- function createIterableMethod(method, isReadonly, isShallow) {
 
-   return function(...args) {
 
-     const target = this["__v_raw"];
 
-     const rawTarget = toRaw(target);
 
-     const targetIsMap = shared.isMap(rawTarget);
 
-     const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
 
-     const isKeyOnly = method === "keys" && targetIsMap;
 
-     const innerIterator = target[method](...args);
 
-     const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
 
-     !isReadonly && track(
 
-       rawTarget,
 
-       "iterate",
 
-       isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
 
-     );
 
-     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(type) {
 
-   return function(...args) {
 
-     return type === "delete" ? false : type === "clear" ? void 0 : this;
 
-   };
 
- }
 
- function createInstrumentations() {
 
-   const mutableInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key);
 
-     },
 
-     get size() {
 
-       return size(this);
 
-     },
 
-     has,
 
-     add,
 
-     set,
 
-     delete: deleteEntry,
 
-     clear,
 
-     forEach: createForEach(false, false)
 
-   };
 
-   const shallowInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, false, true);
 
-     },
 
-     get size() {
 
-       return size(this);
 
-     },
 
-     has,
 
-     add,
 
-     set,
 
-     delete: deleteEntry,
 
-     clear,
 
-     forEach: createForEach(false, true)
 
-   };
 
-   const readonlyInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, true);
 
-     },
 
-     get size() {
 
-       return size(this, true);
 
-     },
 
-     has(key) {
 
-       return has.call(this, key, true);
 
-     },
 
-     add: createReadonlyMethod("add"),
 
-     set: createReadonlyMethod("set"),
 
-     delete: createReadonlyMethod("delete"),
 
-     clear: createReadonlyMethod("clear"),
 
-     forEach: createForEach(true, false)
 
-   };
 
-   const shallowReadonlyInstrumentations2 = {
 
-     get(key) {
 
-       return get(this, key, true, true);
 
-     },
 
-     get size() {
 
-       return size(this, true);
 
-     },
 
-     has(key) {
 
-       return has.call(this, key, true);
 
-     },
 
-     add: createReadonlyMethod("add"),
 
-     set: createReadonlyMethod("set"),
 
-     delete: createReadonlyMethod("delete"),
 
-     clear: createReadonlyMethod("clear"),
 
-     forEach: createForEach(true, true)
 
-   };
 
-   const iteratorMethods = [
 
-     "keys",
 
-     "values",
 
-     "entries",
 
-     Symbol.iterator
 
-   ];
 
-   iteratorMethods.forEach((method) => {
 
-     mutableInstrumentations2[method] = createIterableMethod(method, false, false);
 
-     readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
 
-     shallowInstrumentations2[method] = createIterableMethod(method, false, true);
 
-     shallowReadonlyInstrumentations2[method] = createIterableMethod(
 
-       method,
 
-       true,
 
-       true
 
-     );
 
-   });
 
-   return [
 
-     mutableInstrumentations2,
 
-     readonlyInstrumentations2,
 
-     shallowInstrumentations2,
 
-     shallowReadonlyInstrumentations2
 
-   ];
 
- }
 
- const [
 
-   mutableInstrumentations,
 
-   readonlyInstrumentations,
 
-   shallowInstrumentations,
 
-   shallowReadonlyInstrumentations
 
- ] = /* @__PURE__ */ createInstrumentations();
 
- function createInstrumentationGetter(isReadonly, shallow) {
 
-   const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;
 
-   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(
 
-       shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target,
 
-       key,
 
-       receiver
 
-     );
 
-   };
 
- }
 
- const mutableCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(false, false)
 
- };
 
- const shallowCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(false, true)
 
- };
 
- const readonlyCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(true, false)
 
- };
 
- const shallowReadonlyCollectionHandlers = {
 
-   get: /* @__PURE__ */ createInstrumentationGetter(true, true)
 
- };
 
- const reactiveMap = /* @__PURE__ */ new WeakMap();
 
- const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
 
- const readonlyMap = /* @__PURE__ */ new WeakMap();
 
- const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
 
- function targetTypeMap(rawType) {
 
-   switch (rawType) {
 
-     case "Object":
 
-     case "Array":
 
-       return 1 /* COMMON */;
 
-     case "Map":
 
-     case "Set":
 
-     case "WeakMap":
 
-     case "WeakSet":
 
-       return 2 /* COLLECTION */;
 
-     default:
 
-       return 0 /* INVALID */;
 
-   }
 
- }
 
- function getTargetType(value) {
 
-   return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(shared.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 (!shared.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 /* INVALID */) {
 
-     return target;
 
-   }
 
-   const proxy = new Proxy(
 
-     target,
 
-     targetType === 2 /* COLLECTION */ ? 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 (Object.isExtensible(value)) {
 
-     shared.def(value, "__v_skip", true);
 
-   }
 
-   return value;
 
- }
 
- const toReactive = (value) => shared.isObject(value) ? reactive(value) : value;
 
- const toReadonly = (value) => shared.isObject(value) ? readonly(value) : value;
 
- class ComputedRefImpl {
 
-   constructor(getter, _setter, isReadonly, isSSR) {
 
-     this.getter = getter;
 
-     this._setter = _setter;
 
-     this.dep = void 0;
 
-     this.__v_isRef = true;
 
-     this["__v_isReadonly"] = false;
 
-     this.effect = new ReactiveEffect(
 
-       () => getter(this._value),
 
-       () => triggerRefValue(
 
-         this,
 
-         this.effect._dirtyLevel === 2 ? 2 : 3
 
-       )
 
-     );
 
-     this.effect.computed = this;
 
-     this.effect.active = this._cacheable = !isSSR;
 
-     this["__v_isReadonly"] = isReadonly;
 
-   }
 
-   get value() {
 
-     const self = toRaw(this);
 
-     if ((!self._cacheable || self.effect.dirty) && shared.hasChanged(self._value, self._value = self.effect.run())) {
 
-       triggerRefValue(self, 4);
 
-     }
 
-     trackRefValue(self);
 
-     if (self.effect._dirtyLevel >= 2) {
 
-       triggerRefValue(self, 2);
 
-     }
 
-     return self._value;
 
-   }
 
-   set value(newValue) {
 
-     this._setter(newValue);
 
-   }
 
-   // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x
 
-   get _dirty() {
 
-     return this.effect.dirty;
 
-   }
 
-   set _dirty(v) {
 
-     this.effect.dirty = v;
 
-   }
 
-   // #endregion
 
- }
 
- function computed(getterOrOptions, debugOptions, isSSR = false) {
 
-   let getter;
 
-   let setter;
 
-   const onlyGetter = shared.isFunction(getterOrOptions);
 
-   if (onlyGetter) {
 
-     getter = getterOrOptions;
 
-     setter = shared.NOOP;
 
-   } else {
 
-     getter = getterOrOptions.get;
 
-     setter = getterOrOptions.set;
 
-   }
 
-   const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
 
-   return cRef;
 
- }
 
- function trackRefValue(ref2) {
 
-   var _a;
 
-   if (shouldTrack && activeEffect) {
 
-     ref2 = toRaw(ref2);
 
-     trackEffect(
 
-       activeEffect,
 
-       (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
 
-         () => ref2.dep = void 0,
 
-         ref2 instanceof ComputedRefImpl ? ref2 : void 0
 
-       ));
 
-   }
 
- }
 
- function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
 
-   ref2 = toRaw(ref2);
 
-   const dep = ref2.dep;
 
-   if (dep) {
 
-     triggerEffects(
 
-       dep,
 
-       dirtyLevel);
 
-   }
 
- }
 
- function isRef(r) {
 
-   return !!(r && r.__v_isRef === true);
 
- }
 
- 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);
 
- }
 
- class RefImpl {
 
-   constructor(value, __v_isShallow) {
 
-     this.__v_isShallow = __v_isShallow;
 
-     this.dep = void 0;
 
-     this.__v_isRef = true;
 
-     this._rawValue = __v_isShallow ? value : toRaw(value);
 
-     this._value = __v_isShallow ? value : toReactive(value);
 
-   }
 
-   get value() {
 
-     trackRefValue(this);
 
-     return this._value;
 
-   }
 
-   set value(newVal) {
 
-     const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
 
-     newVal = useDirectValue ? newVal : toRaw(newVal);
 
-     if (shared.hasChanged(newVal, this._rawValue)) {
 
-       this._rawValue = newVal;
 
-       this._value = useDirectValue ? newVal : toReactive(newVal);
 
-       triggerRefValue(this, 4);
 
-     }
 
-   }
 
- }
 
- function triggerRef(ref2) {
 
-   triggerRefValue(ref2, 4);
 
- }
 
- function unref(ref2) {
 
-   return isRef(ref2) ? ref2.value : ref2;
 
- }
 
- function toValue(source) {
 
-   return shared.isFunction(source) ? source() : unref(source);
 
- }
 
- const shallowUnwrapHandlers = {
 
-   get: (target, key, receiver) => 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);
 
-     }
 
-   }
 
- };
 
- function proxyRefs(objectWithRefs) {
 
-   return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
 
- }
 
- class CustomRefImpl {
 
-   constructor(factory) {
 
-     this.dep = void 0;
 
-     this.__v_isRef = true;
 
-     const { get, set } = factory(
 
-       () => trackRefValue(this),
 
-       () => triggerRefValue(this)
 
-     );
 
-     this._get = get;
 
-     this._set = set;
 
-   }
 
-   get value() {
 
-     return this._get();
 
-   }
 
-   set value(newVal) {
 
-     this._set(newVal);
 
-   }
 
- }
 
- function customRef(factory) {
 
-   return new CustomRefImpl(factory);
 
- }
 
- function toRefs(object) {
 
-   const ret = shared.isArray(object) ? new Array(object.length) : {};
 
-   for (const key in object) {
 
-     ret[key] = propertyToRef(object, key);
 
-   }
 
-   return ret;
 
- }
 
- class ObjectRefImpl {
 
-   constructor(_object, _key, _defaultValue) {
 
-     this._object = _object;
 
-     this._key = _key;
 
-     this._defaultValue = _defaultValue;
 
-     this.__v_isRef = true;
 
-   }
 
-   get value() {
 
-     const val = this._object[this._key];
 
-     return val === void 0 ? this._defaultValue : val;
 
-   }
 
-   set value(newVal) {
 
-     this._object[this._key] = newVal;
 
-   }
 
-   get dep() {
 
-     return getDepFromReactive(toRaw(this._object), this._key);
 
-   }
 
- }
 
- class GetterRefImpl {
 
-   constructor(_getter) {
 
-     this._getter = _getter;
 
-     this.__v_isRef = true;
 
-     this.__v_isReadonly = true;
 
-   }
 
-   get value() {
 
-     return this._getter();
 
-   }
 
- }
 
- function toRef(source, key, defaultValue) {
 
-   if (isRef(source)) {
 
-     return source;
 
-   } else if (shared.isFunction(source)) {
 
-     return new GetterRefImpl(source);
 
-   } else if (shared.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);
 
- }
 
- const deferredComputed = computed;
 
- const TrackOpTypes = {
 
-   "GET": "get",
 
-   "HAS": "has",
 
-   "ITERATE": "iterate"
 
- };
 
- const TriggerOpTypes = {
 
-   "SET": "set",
 
-   "ADD": "add",
 
-   "DELETE": "delete",
 
-   "CLEAR": "clear"
 
- };
 
- const ReactiveFlags = {
 
-   "SKIP": "__v_skip",
 
-   "IS_REACTIVE": "__v_isReactive",
 
-   "IS_READONLY": "__v_isReadonly",
 
-   "IS_SHALLOW": "__v_isShallow",
 
-   "RAW": "__v_raw"
 
- };
 
- exports.EffectScope = EffectScope;
 
- exports.ITERATE_KEY = ITERATE_KEY;
 
- exports.ReactiveEffect = ReactiveEffect;
 
- exports.ReactiveFlags = ReactiveFlags;
 
- exports.TrackOpTypes = TrackOpTypes;
 
- exports.TriggerOpTypes = TriggerOpTypes;
 
- exports.computed = computed;
 
- exports.customRef = customRef;
 
- exports.deferredComputed = deferredComputed;
 
- exports.effect = effect;
 
- exports.effectScope = effectScope;
 
- exports.enableTracking = enableTracking;
 
- exports.getCurrentScope = getCurrentScope;
 
- exports.isProxy = isProxy;
 
- exports.isReactive = isReactive;
 
- exports.isReadonly = isReadonly;
 
- exports.isRef = isRef;
 
- exports.isShallow = isShallow;
 
- exports.markRaw = markRaw;
 
- exports.onScopeDispose = onScopeDispose;
 
- exports.pauseScheduling = pauseScheduling;
 
- exports.pauseTracking = pauseTracking;
 
- exports.proxyRefs = proxyRefs;
 
- exports.reactive = reactive;
 
- exports.readonly = readonly;
 
- exports.ref = ref;
 
- exports.resetScheduling = resetScheduling;
 
- exports.resetTracking = resetTracking;
 
- exports.shallowReactive = shallowReactive;
 
- exports.shallowReadonly = shallowReadonly;
 
- exports.shallowRef = shallowRef;
 
- exports.stop = stop;
 
- exports.toRaw = toRaw;
 
- exports.toRef = toRef;
 
- exports.toRefs = toRefs;
 
- exports.toValue = toValue;
 
- exports.track = track;
 
- exports.trigger = trigger;
 
- exports.triggerRef = triggerRef;
 
- exports.unref = unref;
 
 
  |