@tmagic/stage 1.8.0-beta.1 → 1.8.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,6 +41,220 @@
41
41
  moveable_helper = __toESM(moveable_helper, 1);
42
42
  moveable = __toESM(moveable, 1);
43
43
  _scena_guides = __toESM(_scena_guides, 1);
44
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js
45
+ /**
46
+ * Removes all key-value entries from the list cache.
47
+ *
48
+ * @private
49
+ * @name clear
50
+ * @memberOf ListCache
51
+ */
52
+ function listCacheClear() {
53
+ this.__data__ = [];
54
+ this.size = 0;
55
+ }
56
+ //#endregion
57
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js
58
+ /**
59
+ * Performs a
60
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
61
+ * comparison between two values to determine if they are equivalent.
62
+ *
63
+ * @static
64
+ * @memberOf _
65
+ * @since 4.0.0
66
+ * @category Lang
67
+ * @param {*} value The value to compare.
68
+ * @param {*} other The other value to compare.
69
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
70
+ * @example
71
+ *
72
+ * var object = { 'a': 1 };
73
+ * var other = { 'a': 1 };
74
+ *
75
+ * _.eq(object, object);
76
+ * // => true
77
+ *
78
+ * _.eq(object, other);
79
+ * // => false
80
+ *
81
+ * _.eq('a', 'a');
82
+ * // => true
83
+ *
84
+ * _.eq('a', Object('a'));
85
+ * // => false
86
+ *
87
+ * _.eq(NaN, NaN);
88
+ * // => true
89
+ */
90
+ function eq(value, other) {
91
+ return value === other || value !== value && other !== other;
92
+ }
93
+ //#endregion
94
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js
95
+ /**
96
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
97
+ *
98
+ * @private
99
+ * @param {Array} array The array to inspect.
100
+ * @param {*} key The key to search for.
101
+ * @returns {number} Returns the index of the matched value, else `-1`.
102
+ */
103
+ function assocIndexOf(array, key) {
104
+ var length = array.length;
105
+ while (length--) if (eq(array[length][0], key)) return length;
106
+ return -1;
107
+ }
108
+ //#endregion
109
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js
110
+ /** Built-in value references. */
111
+ var splice = Array.prototype.splice;
112
+ /**
113
+ * Removes `key` and its value from the list cache.
114
+ *
115
+ * @private
116
+ * @name delete
117
+ * @memberOf ListCache
118
+ * @param {string} key The key of the value to remove.
119
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
120
+ */
121
+ function listCacheDelete(key) {
122
+ var data = this.__data__, index = assocIndexOf(data, key);
123
+ if (index < 0) return false;
124
+ if (index == data.length - 1) data.pop();
125
+ else splice.call(data, index, 1);
126
+ --this.size;
127
+ return true;
128
+ }
129
+ //#endregion
130
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js
131
+ /**
132
+ * Gets the list cache value for `key`.
133
+ *
134
+ * @private
135
+ * @name get
136
+ * @memberOf ListCache
137
+ * @param {string} key The key of the value to get.
138
+ * @returns {*} Returns the entry value.
139
+ */
140
+ function listCacheGet(key) {
141
+ var data = this.__data__, index = assocIndexOf(data, key);
142
+ return index < 0 ? void 0 : data[index][1];
143
+ }
144
+ //#endregion
145
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js
146
+ /**
147
+ * Checks if a list cache value for `key` exists.
148
+ *
149
+ * @private
150
+ * @name has
151
+ * @memberOf ListCache
152
+ * @param {string} key The key of the entry to check.
153
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
154
+ */
155
+ function listCacheHas(key) {
156
+ return assocIndexOf(this.__data__, key) > -1;
157
+ }
158
+ //#endregion
159
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js
160
+ /**
161
+ * Sets the list cache `key` to `value`.
162
+ *
163
+ * @private
164
+ * @name set
165
+ * @memberOf ListCache
166
+ * @param {string} key The key of the value to set.
167
+ * @param {*} value The value to set.
168
+ * @returns {Object} Returns the list cache instance.
169
+ */
170
+ function listCacheSet(key, value) {
171
+ var data = this.__data__, index = assocIndexOf(data, key);
172
+ if (index < 0) {
173
+ ++this.size;
174
+ data.push([key, value]);
175
+ } else data[index][1] = value;
176
+ return this;
177
+ }
178
+ //#endregion
179
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js
180
+ /**
181
+ * Creates an list cache object.
182
+ *
183
+ * @private
184
+ * @constructor
185
+ * @param {Array} [entries] The key-value pairs to cache.
186
+ */
187
+ function ListCache(entries) {
188
+ var index = -1, length = entries == null ? 0 : entries.length;
189
+ this.clear();
190
+ while (++index < length) {
191
+ var entry = entries[index];
192
+ this.set(entry[0], entry[1]);
193
+ }
194
+ }
195
+ ListCache.prototype.clear = listCacheClear;
196
+ ListCache.prototype["delete"] = listCacheDelete;
197
+ ListCache.prototype.get = listCacheGet;
198
+ ListCache.prototype.has = listCacheHas;
199
+ ListCache.prototype.set = listCacheSet;
200
+ //#endregion
201
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js
202
+ /**
203
+ * Removes all key-value entries from the stack.
204
+ *
205
+ * @private
206
+ * @name clear
207
+ * @memberOf Stack
208
+ */
209
+ function stackClear() {
210
+ this.__data__ = new ListCache();
211
+ this.size = 0;
212
+ }
213
+ //#endregion
214
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js
215
+ /**
216
+ * Removes `key` and its value from the stack.
217
+ *
218
+ * @private
219
+ * @name delete
220
+ * @memberOf Stack
221
+ * @param {string} key The key of the value to remove.
222
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
223
+ */
224
+ function stackDelete(key) {
225
+ var data = this.__data__, result = data["delete"](key);
226
+ this.size = data.size;
227
+ return result;
228
+ }
229
+ //#endregion
230
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js
231
+ /**
232
+ * Gets the stack value for `key`.
233
+ *
234
+ * @private
235
+ * @name get
236
+ * @memberOf Stack
237
+ * @param {string} key The key of the value to get.
238
+ * @returns {*} Returns the entry value.
239
+ */
240
+ function stackGet(key) {
241
+ return this.__data__.get(key);
242
+ }
243
+ //#endregion
244
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js
245
+ /**
246
+ * Checks if a stack value for `key` exists.
247
+ *
248
+ * @private
249
+ * @name has
250
+ * @memberOf Stack
251
+ * @param {string} key The key of the entry to check.
252
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
253
+ */
254
+ function stackHas(key) {
255
+ return this.__data__.has(key);
256
+ }
257
+ //#endregion
44
258
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js
45
259
  /** Detect free variable `global` from Node.js. */
46
260
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
@@ -122,233 +336,55 @@
122
336
  return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
123
337
  }
124
338
  //#endregion
125
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js
339
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js
126
340
  /**
127
- * Checks if `value` is object-like. A value is object-like if it's not `null`
128
- * and has a `typeof` result of "object".
341
+ * Checks if `value` is the
342
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
343
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
129
344
  *
130
345
  * @static
131
346
  * @memberOf _
132
- * @since 4.0.0
347
+ * @since 0.1.0
133
348
  * @category Lang
134
349
  * @param {*} value The value to check.
135
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
350
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
136
351
  * @example
137
352
  *
138
- * _.isObjectLike({});
353
+ * _.isObject({});
139
354
  * // => true
140
355
  *
141
- * _.isObjectLike([1, 2, 3]);
356
+ * _.isObject([1, 2, 3]);
142
357
  * // => true
143
358
  *
144
- * _.isObjectLike(_.noop);
145
- * // => false
359
+ * _.isObject(_.noop);
360
+ * // => true
146
361
  *
147
- * _.isObjectLike(null);
362
+ * _.isObject(null);
148
363
  * // => false
149
364
  */
150
- function isObjectLike(value) {
151
- return value != null && typeof value == "object";
365
+ function isObject(value) {
366
+ var type = typeof value;
367
+ return value != null && (type == "object" || type == "function");
152
368
  }
153
369
  //#endregion
154
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js
370
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js
155
371
  /** `Object#toString` result references. */
156
- var symbolTag = "[object Symbol]";
372
+ var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
157
373
  /**
158
- * Checks if `value` is classified as a `Symbol` primitive or object.
374
+ * Checks if `value` is classified as a `Function` object.
159
375
  *
160
376
  * @static
161
377
  * @memberOf _
162
- * @since 4.0.0
378
+ * @since 0.1.0
163
379
  * @category Lang
164
380
  * @param {*} value The value to check.
165
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
381
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
166
382
  * @example
167
383
  *
168
- * _.isSymbol(Symbol.iterator);
384
+ * _.isFunction(_);
169
385
  * // => true
170
386
  *
171
- * _.isSymbol('abc');
172
- * // => false
173
- */
174
- function isSymbol(value) {
175
- return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
176
- }
177
- //#endregion
178
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js
179
- /**
180
- * Checks if `value` is classified as an `Array` object.
181
- *
182
- * @static
183
- * @memberOf _
184
- * @since 0.1.0
185
- * @category Lang
186
- * @param {*} value The value to check.
187
- * @returns {boolean} Returns `true` if `value` is an array, else `false`.
188
- * @example
189
- *
190
- * _.isArray([1, 2, 3]);
191
- * // => true
192
- *
193
- * _.isArray(document.body.children);
194
- * // => false
195
- *
196
- * _.isArray('abc');
197
- * // => false
198
- *
199
- * _.isArray(_.noop);
200
- * // => false
201
- */
202
- var isArray = Array.isArray;
203
- //#endregion
204
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js
205
- /** Used to match a single whitespace character. */
206
- var reWhitespace = /\s/;
207
- /**
208
- * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
209
- * character of `string`.
210
- *
211
- * @private
212
- * @param {string} string The string to inspect.
213
- * @returns {number} Returns the index of the last non-whitespace character.
214
- */
215
- function trimmedEndIndex(string) {
216
- var index = string.length;
217
- while (index-- && reWhitespace.test(string.charAt(index)));
218
- return index;
219
- }
220
- //#endregion
221
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js
222
- /** Used to match leading whitespace. */
223
- var reTrimStart = /^\s+/;
224
- /**
225
- * The base implementation of `_.trim`.
226
- *
227
- * @private
228
- * @param {string} string The string to trim.
229
- * @returns {string} Returns the trimmed string.
230
- */
231
- function baseTrim(string) {
232
- return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
233
- }
234
- //#endregion
235
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js
236
- /**
237
- * Checks if `value` is the
238
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
239
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
240
- *
241
- * @static
242
- * @memberOf _
243
- * @since 0.1.0
244
- * @category Lang
245
- * @param {*} value The value to check.
246
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
247
- * @example
248
- *
249
- * _.isObject({});
250
- * // => true
251
- *
252
- * _.isObject([1, 2, 3]);
253
- * // => true
254
- *
255
- * _.isObject(_.noop);
256
- * // => true
257
- *
258
- * _.isObject(null);
259
- * // => false
260
- */
261
- function isObject(value) {
262
- var type = typeof value;
263
- return value != null && (type == "object" || type == "function");
264
- }
265
- //#endregion
266
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js
267
- /** Used as references for various `Number` constants. */
268
- var NAN = NaN;
269
- /** Used to detect bad signed hexadecimal string values. */
270
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
271
- /** Used to detect binary string values. */
272
- var reIsBinary = /^0b[01]+$/i;
273
- /** Used to detect octal string values. */
274
- var reIsOctal = /^0o[0-7]+$/i;
275
- /** Built-in method references without a dependency on `root`. */
276
- var freeParseInt = parseInt;
277
- /**
278
- * Converts `value` to a number.
279
- *
280
- * @static
281
- * @memberOf _
282
- * @since 4.0.0
283
- * @category Lang
284
- * @param {*} value The value to process.
285
- * @returns {number} Returns the number.
286
- * @example
287
- *
288
- * _.toNumber(3.2);
289
- * // => 3.2
290
- *
291
- * _.toNumber(Number.MIN_VALUE);
292
- * // => 5e-324
293
- *
294
- * _.toNumber(Infinity);
295
- * // => Infinity
296
- *
297
- * _.toNumber('3.2');
298
- * // => 3.2
299
- */
300
- function toNumber(value) {
301
- if (typeof value == "number") return value;
302
- if (isSymbol(value)) return NAN;
303
- if (isObject(value)) {
304
- var other = typeof value.valueOf == "function" ? value.valueOf() : value;
305
- value = isObject(other) ? other + "" : other;
306
- }
307
- if (typeof value != "string") return value === 0 ? value : +value;
308
- value = baseTrim(value);
309
- var isBinary = reIsBinary.test(value);
310
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
311
- }
312
- //#endregion
313
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js
314
- /**
315
- * This method returns the first argument it receives.
316
- *
317
- * @static
318
- * @since 0.1.0
319
- * @memberOf _
320
- * @category Util
321
- * @param {*} value Any value.
322
- * @returns {*} Returns `value`.
323
- * @example
324
- *
325
- * var object = { 'a': 1 };
326
- *
327
- * console.log(_.identity(object) === object);
328
- * // => true
329
- */
330
- function identity(value) {
331
- return value;
332
- }
333
- //#endregion
334
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js
335
- /** `Object#toString` result references. */
336
- var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
337
- /**
338
- * Checks if `value` is classified as a `Function` object.
339
- *
340
- * @static
341
- * @memberOf _
342
- * @since 0.1.0
343
- * @category Lang
344
- * @param {*} value The value to check.
345
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
346
- * @example
347
- *
348
- * _.isFunction(_);
349
- * // => true
350
- *
351
- * _.isFunction(/abc/);
387
+ * _.isFunction(/abc/);
352
388
  * // => false
353
389
  */
354
390
  function isFunction(value) {
@@ -456,612 +492,467 @@
456
492
  return baseIsNative(value) ? value : void 0;
457
493
  }
458
494
  //#endregion
459
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js
460
- /** Built-in value references. */
461
- var objectCreate = Object.create;
495
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js
496
+ var Map = getNative(root, "Map");
497
+ //#endregion
498
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js
499
+ var nativeCreate = getNative(Object, "create");
500
+ //#endregion
501
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js
462
502
  /**
463
- * The base implementation of `_.create` without support for assigning
464
- * properties to the created object.
503
+ * Removes all key-value entries from the hash.
465
504
  *
466
505
  * @private
467
- * @param {Object} proto The object to inherit from.
468
- * @returns {Object} Returns the new object.
506
+ * @name clear
507
+ * @memberOf Hash
469
508
  */
470
- var baseCreate = function() {
471
- function object() {}
472
- return function(proto) {
473
- if (!isObject(proto)) return {};
474
- if (objectCreate) return objectCreate(proto);
475
- object.prototype = proto;
476
- var result = new object();
477
- object.prototype = void 0;
478
- return result;
479
- };
480
- }();
509
+ function hashClear() {
510
+ this.__data__ = nativeCreate ? nativeCreate(null) : {};
511
+ this.size = 0;
512
+ }
481
513
  //#endregion
482
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js
514
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js
483
515
  /**
484
- * A faster alternative to `Function#apply`, this function invokes `func`
485
- * with the `this` binding of `thisArg` and the arguments of `args`.
516
+ * Removes `key` and its value from the hash.
486
517
  *
487
518
  * @private
488
- * @param {Function} func The function to invoke.
489
- * @param {*} thisArg The `this` binding of `func`.
490
- * @param {Array} args The arguments to invoke `func` with.
491
- * @returns {*} Returns the result of `func`.
519
+ * @name delete
520
+ * @memberOf Hash
521
+ * @param {Object} hash The hash to modify.
522
+ * @param {string} key The key of the value to remove.
523
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
492
524
  */
493
- function apply(func, thisArg, args) {
494
- switch (args.length) {
495
- case 0: return func.call(thisArg);
496
- case 1: return func.call(thisArg, args[0]);
497
- case 2: return func.call(thisArg, args[0], args[1]);
498
- case 3: return func.call(thisArg, args[0], args[1], args[2]);
499
- }
500
- return func.apply(thisArg, args);
525
+ function hashDelete(key) {
526
+ var result = this.has(key) && delete this.__data__[key];
527
+ this.size -= result ? 1 : 0;
528
+ return result;
501
529
  }
502
530
  //#endregion
503
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js
531
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js
532
+ /** Used to stand-in for `undefined` hash values. */
533
+ var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
534
+ /** Used to check objects for own properties. */
535
+ var hasOwnProperty$6 = Object.prototype.hasOwnProperty;
504
536
  /**
505
- * Copies the values of `source` to `array`.
537
+ * Gets the hash value for `key`.
506
538
  *
507
539
  * @private
508
- * @param {Array} source The array to copy values from.
509
- * @param {Array} [array=[]] The array to copy values to.
510
- * @returns {Array} Returns `array`.
540
+ * @name get
541
+ * @memberOf Hash
542
+ * @param {string} key The key of the value to get.
543
+ * @returns {*} Returns the entry value.
511
544
  */
512
- function copyArray(source, array) {
513
- var index = -1, length = source.length;
514
- array || (array = Array(length));
515
- while (++index < length) array[index] = source[index];
516
- return array;
545
+ function hashGet(key) {
546
+ var data = this.__data__;
547
+ if (nativeCreate) {
548
+ var result = data[key];
549
+ return result === HASH_UNDEFINED$1 ? void 0 : result;
550
+ }
551
+ return hasOwnProperty$6.call(data, key) ? data[key] : void 0;
517
552
  }
518
553
  //#endregion
519
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js
520
- /** Used to detect hot functions by number of calls within a span of milliseconds. */
521
- var HOT_COUNT = 800, HOT_SPAN = 16;
522
- var nativeNow = Date.now;
554
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js
555
+ /** Used to check objects for own properties. */
556
+ var hasOwnProperty$5 = Object.prototype.hasOwnProperty;
523
557
  /**
524
- * Creates a function that'll short out and invoke `identity` instead
525
- * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
526
- * milliseconds.
558
+ * Checks if a hash value for `key` exists.
527
559
  *
528
560
  * @private
529
- * @param {Function} func The function to restrict.
530
- * @returns {Function} Returns the new shortable function.
561
+ * @name has
562
+ * @memberOf Hash
563
+ * @param {string} key The key of the entry to check.
564
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
531
565
  */
532
- function shortOut(func) {
533
- var count = 0, lastCalled = 0;
534
- return function() {
535
- var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
536
- lastCalled = stamp;
537
- if (remaining > 0) {
538
- if (++count >= HOT_COUNT) return arguments[0];
539
- } else count = 0;
540
- return func.apply(void 0, arguments);
541
- };
566
+ function hashHas(key) {
567
+ var data = this.__data__;
568
+ return nativeCreate ? data[key] !== void 0 : hasOwnProperty$5.call(data, key);
542
569
  }
543
570
  //#endregion
544
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js
571
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js
572
+ /** Used to stand-in for `undefined` hash values. */
573
+ var HASH_UNDEFINED = "__lodash_hash_undefined__";
545
574
  /**
546
- * Creates a function that returns `value`.
547
- *
548
- * @static
549
- * @memberOf _
550
- * @since 2.4.0
551
- * @category Util
552
- * @param {*} value The value to return from the new function.
553
- * @returns {Function} Returns the new constant function.
554
- * @example
555
- *
556
- * var objects = _.times(2, _.constant({ 'a': 1 }));
557
- *
558
- * console.log(objects);
559
- * // => [{ 'a': 1 }, { 'a': 1 }]
575
+ * Sets the hash `key` to `value`.
560
576
  *
561
- * console.log(objects[0] === objects[1]);
562
- * // => true
577
+ * @private
578
+ * @name set
579
+ * @memberOf Hash
580
+ * @param {string} key The key of the value to set.
581
+ * @param {*} value The value to set.
582
+ * @returns {Object} Returns the hash instance.
563
583
  */
564
- function constant(value) {
565
- return function() {
566
- return value;
567
- };
584
+ function hashSet(key, value) {
585
+ var data = this.__data__;
586
+ this.size += this.has(key) ? 0 : 1;
587
+ data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
588
+ return this;
568
589
  }
569
590
  //#endregion
570
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js
571
- var defineProperty = function() {
572
- try {
573
- var func = getNative(Object, "defineProperty");
574
- func({}, "", {});
575
- return func;
576
- } catch (e) {}
577
- }();
591
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js
592
+ /**
593
+ * Creates a hash object.
594
+ *
595
+ * @private
596
+ * @constructor
597
+ * @param {Array} [entries] The key-value pairs to cache.
598
+ */
599
+ function Hash(entries) {
600
+ var index = -1, length = entries == null ? 0 : entries.length;
601
+ this.clear();
602
+ while (++index < length) {
603
+ var entry = entries[index];
604
+ this.set(entry[0], entry[1]);
605
+ }
606
+ }
607
+ Hash.prototype.clear = hashClear;
608
+ Hash.prototype["delete"] = hashDelete;
609
+ Hash.prototype.get = hashGet;
610
+ Hash.prototype.has = hashHas;
611
+ Hash.prototype.set = hashSet;
578
612
  //#endregion
579
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js
613
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js
580
614
  /**
581
- * Sets the `toString` method of `func` to return `string`.
615
+ * Removes all key-value entries from the map.
582
616
  *
583
617
  * @private
584
- * @param {Function} func The function to modify.
585
- * @param {Function} string The `toString` result.
586
- * @returns {Function} Returns `func`.
618
+ * @name clear
619
+ * @memberOf MapCache
587
620
  */
588
- var setToString = shortOut(!defineProperty ? identity : function(func, string) {
589
- return defineProperty(func, "toString", {
590
- "configurable": true,
591
- "enumerable": false,
592
- "value": constant(string),
593
- "writable": true
594
- });
595
- });
621
+ function mapCacheClear() {
622
+ this.size = 0;
623
+ this.__data__ = {
624
+ "hash": new Hash(),
625
+ "map": new (Map || ListCache)(),
626
+ "string": new Hash()
627
+ };
628
+ }
596
629
  //#endregion
597
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js
598
- /** Used as references for various `Number` constants. */
599
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
600
- /** Used to detect unsigned integer values. */
601
- var reIsUint = /^(?:0|[1-9]\d*)$/;
630
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js
602
631
  /**
603
- * Checks if `value` is a valid array-like index.
632
+ * Checks if `value` is suitable for use as unique object key.
604
633
  *
605
634
  * @private
606
635
  * @param {*} value The value to check.
607
- * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
608
- * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
636
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
609
637
  */
610
- function isIndex(value, length) {
638
+ function isKeyable(value) {
611
639
  var type = typeof value;
612
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
613
- return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
640
+ return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
614
641
  }
615
642
  //#endregion
616
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js
643
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js
617
644
  /**
618
- * The base implementation of `assignValue` and `assignMergeValue` without
619
- * value checks.
645
+ * Gets the data for `map`.
620
646
  *
621
647
  * @private
622
- * @param {Object} object The object to modify.
623
- * @param {string} key The key of the property to assign.
624
- * @param {*} value The value to assign.
648
+ * @param {Object} map The map to query.
649
+ * @param {string} key The reference key.
650
+ * @returns {*} Returns the map data.
625
651
  */
626
- function baseAssignValue(object, key, value) {
627
- if (key == "__proto__" && defineProperty) defineProperty(object, key, {
628
- "configurable": true,
629
- "enumerable": true,
630
- "value": value,
631
- "writable": true
632
- });
633
- else object[key] = value;
652
+ function getMapData(map, key) {
653
+ var data = map.__data__;
654
+ return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
634
655
  }
635
656
  //#endregion
636
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js
657
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js
637
658
  /**
638
- * Performs a
639
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
640
- * comparison between two values to determine if they are equivalent.
641
- *
642
- * @static
643
- * @memberOf _
644
- * @since 4.0.0
645
- * @category Lang
646
- * @param {*} value The value to compare.
647
- * @param {*} other The other value to compare.
648
- * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
649
- * @example
650
- *
651
- * var object = { 'a': 1 };
652
- * var other = { 'a': 1 };
653
- *
654
- * _.eq(object, object);
655
- * // => true
656
- *
657
- * _.eq(object, other);
658
- * // => false
659
- *
660
- * _.eq('a', 'a');
661
- * // => true
662
- *
663
- * _.eq('a', Object('a'));
664
- * // => false
659
+ * Removes `key` and its value from the map.
665
660
  *
666
- * _.eq(NaN, NaN);
667
- * // => true
661
+ * @private
662
+ * @name delete
663
+ * @memberOf MapCache
664
+ * @param {string} key The key of the value to remove.
665
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
668
666
  */
669
- function eq(value, other) {
670
- return value === other || value !== value && other !== other;
667
+ function mapCacheDelete(key) {
668
+ var result = getMapData(this, key)["delete"](key);
669
+ this.size -= result ? 1 : 0;
670
+ return result;
671
671
  }
672
672
  //#endregion
673
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js
674
- /** Used to check objects for own properties. */
675
- var hasOwnProperty$6 = Object.prototype.hasOwnProperty;
673
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js
676
674
  /**
677
- * Assigns `value` to `key` of `object` if the existing value is not equivalent
678
- * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
679
- * for equality comparisons.
675
+ * Gets the map value for `key`.
680
676
  *
681
677
  * @private
682
- * @param {Object} object The object to modify.
683
- * @param {string} key The key of the property to assign.
684
- * @param {*} value The value to assign.
678
+ * @name get
679
+ * @memberOf MapCache
680
+ * @param {string} key The key of the value to get.
681
+ * @returns {*} Returns the entry value.
685
682
  */
686
- function assignValue(object, key, value) {
687
- var objValue = object[key];
688
- if (!(hasOwnProperty$6.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
683
+ function mapCacheGet(key) {
684
+ return getMapData(this, key).get(key);
689
685
  }
690
686
  //#endregion
691
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js
687
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js
692
688
  /**
693
- * Copies properties of `source` to `object`.
689
+ * Checks if a map value for `key` exists.
694
690
  *
695
691
  * @private
696
- * @param {Object} source The object to copy properties from.
697
- * @param {Array} props The property identifiers to copy.
698
- * @param {Object} [object={}] The object to copy properties to.
699
- * @param {Function} [customizer] The function to customize copied values.
700
- * @returns {Object} Returns `object`.
692
+ * @name has
693
+ * @memberOf MapCache
694
+ * @param {string} key The key of the entry to check.
695
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
701
696
  */
702
- function copyObject(source, props, object, customizer) {
703
- var isNew = !object;
704
- object || (object = {});
705
- var index = -1, length = props.length;
706
- while (++index < length) {
707
- var key = props[index];
708
- var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
709
- if (newValue === void 0) newValue = source[key];
710
- if (isNew) baseAssignValue(object, key, newValue);
711
- else assignValue(object, key, newValue);
712
- }
713
- return object;
697
+ function mapCacheHas(key) {
698
+ return getMapData(this, key).has(key);
714
699
  }
715
700
  //#endregion
716
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js
717
- var nativeMax$1 = Math.max;
701
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js
718
702
  /**
719
- * A specialized version of `baseRest` which transforms the rest array.
703
+ * Sets the map `key` to `value`.
720
704
  *
721
705
  * @private
722
- * @param {Function} func The function to apply a rest parameter to.
723
- * @param {number} [start=func.length-1] The start position of the rest parameter.
724
- * @param {Function} transform The rest array transform.
725
- * @returns {Function} Returns the new function.
706
+ * @name set
707
+ * @memberOf MapCache
708
+ * @param {string} key The key of the value to set.
709
+ * @param {*} value The value to set.
710
+ * @returns {Object} Returns the map cache instance.
726
711
  */
727
- function overRest(func, start, transform) {
728
- start = nativeMax$1(start === void 0 ? func.length - 1 : start, 0);
729
- return function() {
730
- var args = arguments, index = -1, length = nativeMax$1(args.length - start, 0), array = Array(length);
731
- while (++index < length) array[index] = args[start + index];
732
- index = -1;
733
- var otherArgs = Array(start + 1);
734
- while (++index < start) otherArgs[index] = args[index];
735
- otherArgs[start] = transform(array);
736
- return apply(func, this, otherArgs);
737
- };
712
+ function mapCacheSet(key, value) {
713
+ var data = getMapData(this, key), size = data.size;
714
+ data.set(key, value);
715
+ this.size += data.size == size ? 0 : 1;
716
+ return this;
738
717
  }
739
718
  //#endregion
740
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js
719
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js
741
720
  /**
742
- * The base implementation of `_.rest` which doesn't validate or coerce arguments.
721
+ * Creates a map cache object to store key-value pairs.
743
722
  *
744
723
  * @private
745
- * @param {Function} func The function to apply a rest parameter to.
746
- * @param {number} [start=func.length-1] The start position of the rest parameter.
747
- * @returns {Function} Returns the new function.
724
+ * @constructor
725
+ * @param {Array} [entries] The key-value pairs to cache.
748
726
  */
749
- function baseRest(func, start) {
750
- return setToString(overRest(func, start, identity), func + "");
727
+ function MapCache(entries) {
728
+ var index = -1, length = entries == null ? 0 : entries.length;
729
+ this.clear();
730
+ while (++index < length) {
731
+ var entry = entries[index];
732
+ this.set(entry[0], entry[1]);
733
+ }
751
734
  }
735
+ MapCache.prototype.clear = mapCacheClear;
736
+ MapCache.prototype["delete"] = mapCacheDelete;
737
+ MapCache.prototype.get = mapCacheGet;
738
+ MapCache.prototype.has = mapCacheHas;
739
+ MapCache.prototype.set = mapCacheSet;
752
740
  //#endregion
753
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js
754
- /** Used as references for various `Number` constants. */
755
- var MAX_SAFE_INTEGER = 9007199254740991;
741
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js
742
+ /** Used as the size to enable large array optimizations. */
743
+ var LARGE_ARRAY_SIZE = 200;
756
744
  /**
757
- * Checks if `value` is a valid array-like length.
758
- *
759
- * **Note:** This method is loosely based on
760
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
761
- *
762
- * @static
763
- * @memberOf _
764
- * @since 4.0.0
765
- * @category Lang
766
- * @param {*} value The value to check.
767
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
768
- * @example
769
- *
770
- * _.isLength(3);
771
- * // => true
772
- *
773
- * _.isLength(Number.MIN_VALUE);
774
- * // => false
775
- *
776
- * _.isLength(Infinity);
777
- * // => false
745
+ * Sets the stack `key` to `value`.
778
746
  *
779
- * _.isLength('3');
780
- * // => false
747
+ * @private
748
+ * @name set
749
+ * @memberOf Stack
750
+ * @param {string} key The key of the value to set.
751
+ * @param {*} value The value to set.
752
+ * @returns {Object} Returns the stack cache instance.
781
753
  */
782
- function isLength(value) {
783
- return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
754
+ function stackSet(key, value) {
755
+ var data = this.__data__;
756
+ if (data instanceof ListCache) {
757
+ var pairs = data.__data__;
758
+ if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {
759
+ pairs.push([key, value]);
760
+ this.size = ++data.size;
761
+ return this;
762
+ }
763
+ data = this.__data__ = new MapCache(pairs);
764
+ }
765
+ data.set(key, value);
766
+ this.size = data.size;
767
+ return this;
784
768
  }
785
769
  //#endregion
786
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js
770
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js
787
771
  /**
788
- * Checks if `value` is array-like. A value is considered array-like if it's
789
- * not a function and has a `value.length` that's an integer greater than or
790
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
791
- *
792
- * @static
793
- * @memberOf _
794
- * @since 4.0.0
795
- * @category Lang
796
- * @param {*} value The value to check.
797
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
798
- * @example
799
- *
800
- * _.isArrayLike([1, 2, 3]);
801
- * // => true
802
- *
803
- * _.isArrayLike(document.body.children);
804
- * // => true
805
- *
806
- * _.isArrayLike('abc');
807
- * // => true
772
+ * Creates a stack cache object to store key-value pairs.
808
773
  *
809
- * _.isArrayLike(_.noop);
810
- * // => false
774
+ * @private
775
+ * @constructor
776
+ * @param {Array} [entries] The key-value pairs to cache.
811
777
  */
812
- function isArrayLike(value) {
813
- return value != null && isLength(value.length) && !isFunction(value);
778
+ function Stack(entries) {
779
+ var data = this.__data__ = new ListCache(entries);
780
+ this.size = data.size;
814
781
  }
782
+ Stack.prototype.clear = stackClear;
783
+ Stack.prototype["delete"] = stackDelete;
784
+ Stack.prototype.get = stackGet;
785
+ Stack.prototype.has = stackHas;
786
+ Stack.prototype.set = stackSet;
815
787
  //#endregion
816
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js
788
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js
789
+ var defineProperty = function() {
790
+ try {
791
+ var func = getNative(Object, "defineProperty");
792
+ func({}, "", {});
793
+ return func;
794
+ } catch (e) {}
795
+ }();
796
+ //#endregion
797
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js
817
798
  /**
818
- * Checks if the given arguments are from an iteratee call.
799
+ * The base implementation of `assignValue` and `assignMergeValue` without
800
+ * value checks.
819
801
  *
820
802
  * @private
821
- * @param {*} value The potential iteratee value argument.
822
- * @param {*} index The potential iteratee index or key argument.
823
- * @param {*} object The potential iteratee object argument.
824
- * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
825
- * else `false`.
803
+ * @param {Object} object The object to modify.
804
+ * @param {string} key The key of the property to assign.
805
+ * @param {*} value The value to assign.
826
806
  */
827
- function isIterateeCall(value, index, object) {
828
- if (!isObject(object)) return false;
829
- var type = typeof index;
830
- if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) return eq(object[index], value);
831
- return false;
807
+ function baseAssignValue(object, key, value) {
808
+ if (key == "__proto__" && defineProperty) defineProperty(object, key, {
809
+ "configurable": true,
810
+ "enumerable": true,
811
+ "value": value,
812
+ "writable": true
813
+ });
814
+ else object[key] = value;
832
815
  }
833
816
  //#endregion
834
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js
817
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.js
835
818
  /**
836
- * Creates a function like `_.assign`.
819
+ * This function is like `assignValue` except that it doesn't assign
820
+ * `undefined` values.
837
821
  *
838
822
  * @private
839
- * @param {Function} assigner The function to assign values.
840
- * @returns {Function} Returns the new assigner function.
823
+ * @param {Object} object The object to modify.
824
+ * @param {string} key The key of the property to assign.
825
+ * @param {*} value The value to assign.
841
826
  */
842
- function createAssigner(assigner) {
843
- return baseRest(function(object, sources) {
844
- var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
845
- customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
846
- if (guard && isIterateeCall(sources[0], sources[1], guard)) {
847
- customizer = length < 3 ? void 0 : customizer;
848
- length = 1;
849
- }
850
- object = Object(object);
851
- while (++index < length) {
852
- var source = sources[index];
853
- if (source) assigner(object, source, index, customizer);
854
- }
855
- return object;
856
- });
827
+ function assignMergeValue(object, key, value) {
828
+ if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
857
829
  }
858
830
  //#endregion
859
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js
860
- /** Used for built-in method references. */
861
- var objectProto$2 = Object.prototype;
831
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.js
862
832
  /**
863
- * Checks if `value` is likely a prototype object.
833
+ * Creates a base function for methods like `_.forIn` and `_.forOwn`.
864
834
  *
865
835
  * @private
866
- * @param {*} value The value to check.
867
- * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
836
+ * @param {boolean} [fromRight] Specify iterating from right to left.
837
+ * @returns {Function} Returns the new base function.
868
838
  */
869
- function isPrototype(value) {
870
- var Ctor = value && value.constructor;
871
- return value === (typeof Ctor == "function" && Ctor.prototype || objectProto$2);
839
+ function createBaseFor(fromRight) {
840
+ return function(object, iteratee, keysFunc) {
841
+ var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
842
+ while (length--) {
843
+ var key = props[fromRight ? length : ++index];
844
+ if (iteratee(iterable[key], key, iterable) === false) break;
845
+ }
846
+ return object;
847
+ };
872
848
  }
873
849
  //#endregion
874
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js
850
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.js
875
851
  /**
876
- * The base implementation of `_.times` without support for iteratee shorthands
877
- * or max array length checks.
852
+ * The base implementation of `baseForOwn` which iterates over `object`
853
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
854
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
878
855
  *
879
856
  * @private
880
- * @param {number} n The number of times to invoke `iteratee`.
857
+ * @param {Object} object The object to iterate over.
881
858
  * @param {Function} iteratee The function invoked per iteration.
882
- * @returns {Array} Returns the array of results.
859
+ * @param {Function} keysFunc The function to get the keys of `object`.
860
+ * @returns {Object} Returns `object`.
883
861
  */
884
- function baseTimes(n, iteratee) {
885
- var index = -1, result = Array(n);
886
- while (++index < n) result[index] = iteratee(index);
887
- return result;
888
- }
862
+ var baseFor = createBaseFor();
889
863
  //#endregion
890
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js
891
- /** `Object#toString` result references. */
892
- var argsTag$1 = "[object Arguments]";
864
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js
865
+ /** Detect free variable `exports`. */
866
+ var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports;
867
+ /** Detect free variable `module`. */
868
+ var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module;
869
+ /** Built-in value references. */
870
+ var Buffer$2 = freeModule$2 && freeModule$2.exports === freeExports$2 ? root.Buffer : void 0, allocUnsafe = Buffer$2 ? Buffer$2.allocUnsafe : void 0;
893
871
  /**
894
- * The base implementation of `_.isArguments`.
872
+ * Creates a clone of `buffer`.
895
873
  *
896
874
  * @private
897
- * @param {*} value The value to check.
898
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
875
+ * @param {Buffer} buffer The buffer to clone.
876
+ * @param {boolean} [isDeep] Specify a deep clone.
877
+ * @returns {Buffer} Returns the cloned buffer.
899
878
  */
900
- function baseIsArguments(value) {
901
- return isObjectLike(value) && baseGetTag(value) == argsTag$1;
902
- }
903
- //#endregion
904
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js
905
- /** Used for built-in method references. */
906
- var objectProto$1 = Object.prototype;
907
- /** Used to check objects for own properties. */
908
- var hasOwnProperty$5 = objectProto$1.hasOwnProperty;
909
- /** Built-in value references. */
910
- var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
911
- /**
912
- * Checks if `value` is likely an `arguments` object.
913
- *
914
- * @static
915
- * @memberOf _
916
- * @since 0.1.0
917
- * @category Lang
918
- * @param {*} value The value to check.
919
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
920
- * else `false`.
921
- * @example
922
- *
923
- * _.isArguments(function() { return arguments; }());
924
- * // => true
925
- *
926
- * _.isArguments([1, 2, 3]);
927
- * // => false
928
- */
929
- var isArguments = baseIsArguments(function() {
930
- return arguments;
931
- }()) ? baseIsArguments : function(value) {
932
- return isObjectLike(value) && hasOwnProperty$5.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
933
- };
934
- //#endregion
935
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js
936
- /**
937
- * This method returns `false`.
938
- *
939
- * @static
940
- * @memberOf _
941
- * @since 4.13.0
942
- * @category Util
943
- * @returns {boolean} Returns `false`.
944
- * @example
945
- *
946
- * _.times(2, _.stubFalse);
947
- * // => [false, false]
948
- */
949
- function stubFalse() {
950
- return false;
879
+ function cloneBuffer(buffer, isDeep) {
880
+ if (isDeep) return buffer.slice();
881
+ var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
882
+ buffer.copy(result);
883
+ return result;
951
884
  }
952
885
  //#endregion
953
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js
954
- /** Detect free variable `exports`. */
955
- var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports;
956
- /** Detect free variable `module`. */
957
- var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module;
886
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js
958
887
  /** Built-in value references. */
959
- var Buffer$2 = freeModule$2 && freeModule$2.exports === freeExports$2 ? root.Buffer : void 0;
960
- /**
961
- * Checks if `value` is a buffer.
962
- *
963
- * @static
964
- * @memberOf _
965
- * @since 4.3.0
966
- * @category Lang
967
- * @param {*} value The value to check.
968
- * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
969
- * @example
970
- *
971
- * _.isBuffer(new Buffer(2));
972
- * // => true
973
- *
974
- * _.isBuffer(new Uint8Array(2));
975
- * // => false
976
- */
977
- var isBuffer = (Buffer$2 ? Buffer$2.isBuffer : void 0) || stubFalse;
888
+ var Uint8Array$1 = root.Uint8Array;
978
889
  //#endregion
979
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js
980
- /** `Object#toString` result references. */
981
- var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag$1 = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", weakMapTag = "[object WeakMap]";
982
- var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
983
- /** Used to identify `toStringTag` values of typed arrays. */
984
- var typedArrayTags = {};
985
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
986
- typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag$1] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
890
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js
987
891
  /**
988
- * The base implementation of `_.isTypedArray` without Node.js optimizations.
892
+ * Creates a clone of `arrayBuffer`.
989
893
  *
990
894
  * @private
991
- * @param {*} value The value to check.
992
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
895
+ * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
896
+ * @returns {ArrayBuffer} Returns the cloned array buffer.
993
897
  */
994
- function baseIsTypedArray(value) {
995
- return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
898
+ function cloneArrayBuffer(arrayBuffer) {
899
+ var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
900
+ new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
901
+ return result;
996
902
  }
997
903
  //#endregion
998
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js
904
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js
999
905
  /**
1000
- * The base implementation of `_.unary` without support for storing metadata.
906
+ * Creates a clone of `typedArray`.
1001
907
  *
1002
908
  * @private
1003
- * @param {Function} func The function to cap arguments for.
1004
- * @returns {Function} Returns the new capped function.
909
+ * @param {Object} typedArray The typed array to clone.
910
+ * @param {boolean} [isDeep] Specify a deep clone.
911
+ * @returns {Object} Returns the cloned typed array.
1005
912
  */
1006
- function baseUnary(func) {
1007
- return function(value) {
1008
- return func(value);
1009
- };
913
+ function cloneTypedArray(typedArray, isDeep) {
914
+ var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
915
+ return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
1010
916
  }
1011
917
  //#endregion
1012
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js
1013
- /** Detect free variable `exports`. */
1014
- var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
1015
- /** Detect free variable `module`. */
1016
- var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
1017
- /** Detect free variable `process` from Node.js. */
1018
- var freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && freeGlobal.process;
1019
- /** Used to access faster Node.js helpers. */
1020
- var nodeUtil = function() {
1021
- try {
1022
- var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types;
1023
- if (types) return types;
1024
- return freeProcess && freeProcess.binding && freeProcess.binding("util");
1025
- } catch (e) {}
1026
- }();
1027
- //#endregion
1028
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js
1029
- var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
918
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js
1030
919
  /**
1031
- * Checks if `value` is classified as a typed array.
1032
- *
1033
- * @static
1034
- * @memberOf _
1035
- * @since 3.0.0
1036
- * @category Lang
1037
- * @param {*} value The value to check.
1038
- * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1039
- * @example
1040
- *
1041
- * _.isTypedArray(new Uint8Array);
1042
- * // => true
920
+ * Copies the values of `source` to `array`.
1043
921
  *
1044
- * _.isTypedArray([]);
1045
- * // => false
922
+ * @private
923
+ * @param {Array} source The array to copy values from.
924
+ * @param {Array} [array=[]] The array to copy values to.
925
+ * @returns {Array} Returns `array`.
1046
926
  */
1047
- var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
927
+ function copyArray(source, array) {
928
+ var index = -1, length = source.length;
929
+ array || (array = Array(length));
930
+ while (++index < length) array[index] = source[index];
931
+ return array;
932
+ }
1048
933
  //#endregion
1049
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js
1050
- /** Used to check objects for own properties. */
1051
- var hasOwnProperty$4 = Object.prototype.hasOwnProperty;
934
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js
935
+ /** Built-in value references. */
936
+ var objectCreate = Object.create;
1052
937
  /**
1053
- * Creates an array of the enumerable property names of the array-like `value`.
938
+ * The base implementation of `_.create` without support for assigning
939
+ * properties to the created object.
1054
940
  *
1055
941
  * @private
1056
- * @param {*} value The value to query.
1057
- * @param {boolean} inherited Specify returning inherited property names.
1058
- * @returns {Array} Returns the array of property names.
942
+ * @param {Object} proto The object to inherit from.
943
+ * @returns {Object} Returns the new object.
1059
944
  */
1060
- function arrayLikeKeys(value, inherited) {
1061
- var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
1062
- for (var key in value) if ((inherited || hasOwnProperty$4.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) result.push(key);
1063
- return result;
1064
- }
945
+ var baseCreate = function() {
946
+ function object() {}
947
+ return function(proto) {
948
+ if (!isObject(proto)) return {};
949
+ if (objectCreate) return objectCreate(proto);
950
+ object.prototype = proto;
951
+ var result = new object();
952
+ object.prototype = void 0;
953
+ return result;
954
+ };
955
+ }();
1065
956
  //#endregion
1066
957
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js
1067
958
  /**
@@ -1078,686 +969,903 @@
1078
969
  };
1079
970
  }
1080
971
  //#endregion
1081
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js
972
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js
973
+ /** Built-in value references. */
974
+ var getPrototype = overArg(Object.getPrototypeOf, Object);
975
+ //#endregion
976
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js
977
+ /** Used for built-in method references. */
978
+ var objectProto$2 = Object.prototype;
1082
979
  /**
1083
- * This function is like
1084
- * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1085
- * except that it includes inherited enumerable properties.
980
+ * Checks if `value` is likely a prototype object.
1086
981
  *
1087
982
  * @private
1088
- * @param {Object} object The object to query.
1089
- * @returns {Array} Returns the array of property names.
983
+ * @param {*} value The value to check.
984
+ * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
1090
985
  */
1091
- function nativeKeysIn(object) {
1092
- var result = [];
1093
- if (object != null) for (var key in Object(object)) result.push(key);
1094
- return result;
986
+ function isPrototype(value) {
987
+ var Ctor = value && value.constructor;
988
+ return value === (typeof Ctor == "function" && Ctor.prototype || objectProto$2);
1095
989
  }
1096
990
  //#endregion
1097
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js
1098
- /** Used to check objects for own properties. */
1099
- var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
991
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js
1100
992
  /**
1101
- * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
993
+ * Initializes an object clone.
1102
994
  *
1103
995
  * @private
1104
- * @param {Object} object The object to query.
1105
- * @returns {Array} Returns the array of property names.
996
+ * @param {Object} object The object to clone.
997
+ * @returns {Object} Returns the initialized clone.
1106
998
  */
1107
- function baseKeysIn(object) {
1108
- if (!isObject(object)) return nativeKeysIn(object);
1109
- var isProto = isPrototype(object), result = [];
1110
- for (var key in object) if (!(key == "constructor" && (isProto || !hasOwnProperty$3.call(object, key)))) result.push(key);
1111
- return result;
999
+ function initCloneObject(object) {
1000
+ return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
1112
1001
  }
1113
1002
  //#endregion
1114
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js
1003
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js
1115
1004
  /**
1116
- * Creates an array of the own and inherited enumerable property names of `object`.
1117
- *
1118
- * **Note:** Non-object values are coerced to objects.
1005
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
1006
+ * and has a `typeof` result of "object".
1119
1007
  *
1120
1008
  * @static
1121
1009
  * @memberOf _
1122
- * @since 3.0.0
1123
- * @category Object
1124
- * @param {Object} object The object to query.
1125
- * @returns {Array} Returns the array of property names.
1010
+ * @since 4.0.0
1011
+ * @category Lang
1012
+ * @param {*} value The value to check.
1013
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
1126
1014
  * @example
1127
1015
  *
1128
- * function Foo() {
1129
- * this.a = 1;
1130
- * this.b = 2;
1131
- * }
1016
+ * _.isObjectLike({});
1017
+ * // => true
1132
1018
  *
1133
- * Foo.prototype.c = 3;
1019
+ * _.isObjectLike([1, 2, 3]);
1020
+ * // => true
1134
1021
  *
1135
- * _.keysIn(new Foo);
1136
- * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
1022
+ * _.isObjectLike(_.noop);
1023
+ * // => false
1024
+ *
1025
+ * _.isObjectLike(null);
1026
+ * // => false
1137
1027
  */
1138
- function keysIn(object) {
1139
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
1028
+ function isObjectLike(value) {
1029
+ return value != null && typeof value == "object";
1140
1030
  }
1141
1031
  //#endregion
1142
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js
1143
- var nativeCreate = getNative(Object, "create");
1144
- //#endregion
1145
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js
1032
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js
1033
+ /** `Object#toString` result references. */
1034
+ var argsTag$1 = "[object Arguments]";
1146
1035
  /**
1147
- * Removes all key-value entries from the hash.
1036
+ * The base implementation of `_.isArguments`.
1148
1037
  *
1149
1038
  * @private
1150
- * @name clear
1151
- * @memberOf Hash
1039
+ * @param {*} value The value to check.
1040
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
1152
1041
  */
1153
- function hashClear() {
1154
- this.__data__ = nativeCreate ? nativeCreate(null) : {};
1155
- this.size = 0;
1042
+ function baseIsArguments(value) {
1043
+ return isObjectLike(value) && baseGetTag(value) == argsTag$1;
1156
1044
  }
1157
1045
  //#endregion
1158
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js
1046
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js
1047
+ /** Used for built-in method references. */
1048
+ var objectProto$1 = Object.prototype;
1049
+ /** Used to check objects for own properties. */
1050
+ var hasOwnProperty$4 = objectProto$1.hasOwnProperty;
1051
+ /** Built-in value references. */
1052
+ var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
1159
1053
  /**
1160
- * Removes `key` and its value from the hash.
1054
+ * Checks if `value` is likely an `arguments` object.
1161
1055
  *
1162
- * @private
1163
- * @name delete
1164
- * @memberOf Hash
1165
- * @param {Object} hash The hash to modify.
1166
- * @param {string} key The key of the value to remove.
1167
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
1056
+ * @static
1057
+ * @memberOf _
1058
+ * @since 0.1.0
1059
+ * @category Lang
1060
+ * @param {*} value The value to check.
1061
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
1062
+ * else `false`.
1063
+ * @example
1064
+ *
1065
+ * _.isArguments(function() { return arguments; }());
1066
+ * // => true
1067
+ *
1068
+ * _.isArguments([1, 2, 3]);
1069
+ * // => false
1168
1070
  */
1169
- function hashDelete(key) {
1170
- var result = this.has(key) && delete this.__data__[key];
1171
- this.size -= result ? 1 : 0;
1172
- return result;
1173
- }
1071
+ var isArguments = baseIsArguments(function() {
1072
+ return arguments;
1073
+ }()) ? baseIsArguments : function(value) {
1074
+ return isObjectLike(value) && hasOwnProperty$4.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
1075
+ };
1174
1076
  //#endregion
1175
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js
1176
- /** Used to stand-in for `undefined` hash values. */
1177
- var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
1178
- /** Used to check objects for own properties. */
1179
- var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
1077
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js
1180
1078
  /**
1181
- * Gets the hash value for `key`.
1079
+ * Checks if `value` is classified as an `Array` object.
1182
1080
  *
1183
- * @private
1184
- * @name get
1185
- * @memberOf Hash
1186
- * @param {string} key The key of the value to get.
1187
- * @returns {*} Returns the entry value.
1081
+ * @static
1082
+ * @memberOf _
1083
+ * @since 0.1.0
1084
+ * @category Lang
1085
+ * @param {*} value The value to check.
1086
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
1087
+ * @example
1088
+ *
1089
+ * _.isArray([1, 2, 3]);
1090
+ * // => true
1091
+ *
1092
+ * _.isArray(document.body.children);
1093
+ * // => false
1094
+ *
1095
+ * _.isArray('abc');
1096
+ * // => false
1097
+ *
1098
+ * _.isArray(_.noop);
1099
+ * // => false
1188
1100
  */
1189
- function hashGet(key) {
1190
- var data = this.__data__;
1191
- if (nativeCreate) {
1192
- var result = data[key];
1193
- return result === HASH_UNDEFINED$1 ? void 0 : result;
1194
- }
1195
- return hasOwnProperty$2.call(data, key) ? data[key] : void 0;
1101
+ var isArray = Array.isArray;
1102
+ //#endregion
1103
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js
1104
+ /** Used as references for various `Number` constants. */
1105
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
1106
+ /**
1107
+ * Checks if `value` is a valid array-like length.
1108
+ *
1109
+ * **Note:** This method is loosely based on
1110
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
1111
+ *
1112
+ * @static
1113
+ * @memberOf _
1114
+ * @since 4.0.0
1115
+ * @category Lang
1116
+ * @param {*} value The value to check.
1117
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
1118
+ * @example
1119
+ *
1120
+ * _.isLength(3);
1121
+ * // => true
1122
+ *
1123
+ * _.isLength(Number.MIN_VALUE);
1124
+ * // => false
1125
+ *
1126
+ * _.isLength(Infinity);
1127
+ * // => false
1128
+ *
1129
+ * _.isLength('3');
1130
+ * // => false
1131
+ */
1132
+ function isLength(value) {
1133
+ return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;
1196
1134
  }
1197
1135
  //#endregion
1198
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js
1199
- /** Used to check objects for own properties. */
1200
- var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
1136
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js
1201
1137
  /**
1202
- * Checks if a hash value for `key` exists.
1138
+ * Checks if `value` is array-like. A value is considered array-like if it's
1139
+ * not a function and has a `value.length` that's an integer greater than or
1140
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
1203
1141
  *
1204
- * @private
1205
- * @name has
1206
- * @memberOf Hash
1207
- * @param {string} key The key of the entry to check.
1208
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
1142
+ * @static
1143
+ * @memberOf _
1144
+ * @since 4.0.0
1145
+ * @category Lang
1146
+ * @param {*} value The value to check.
1147
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
1148
+ * @example
1149
+ *
1150
+ * _.isArrayLike([1, 2, 3]);
1151
+ * // => true
1152
+ *
1153
+ * _.isArrayLike(document.body.children);
1154
+ * // => true
1155
+ *
1156
+ * _.isArrayLike('abc');
1157
+ * // => true
1158
+ *
1159
+ * _.isArrayLike(_.noop);
1160
+ * // => false
1209
1161
  */
1210
- function hashHas(key) {
1211
- var data = this.__data__;
1212
- return nativeCreate ? data[key] !== void 0 : hasOwnProperty$1.call(data, key);
1162
+ function isArrayLike(value) {
1163
+ return value != null && isLength(value.length) && !isFunction(value);
1213
1164
  }
1214
1165
  //#endregion
1215
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js
1216
- /** Used to stand-in for `undefined` hash values. */
1217
- var HASH_UNDEFINED = "__lodash_hash_undefined__";
1166
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.js
1218
1167
  /**
1219
- * Sets the hash `key` to `value`.
1168
+ * This method is like `_.isArrayLike` except that it also checks if `value`
1169
+ * is an object.
1220
1170
  *
1221
- * @private
1222
- * @name set
1223
- * @memberOf Hash
1224
- * @param {string} key The key of the value to set.
1225
- * @param {*} value The value to set.
1226
- * @returns {Object} Returns the hash instance.
1171
+ * @static
1172
+ * @memberOf _
1173
+ * @since 4.0.0
1174
+ * @category Lang
1175
+ * @param {*} value The value to check.
1176
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
1177
+ * else `false`.
1178
+ * @example
1179
+ *
1180
+ * _.isArrayLikeObject([1, 2, 3]);
1181
+ * // => true
1182
+ *
1183
+ * _.isArrayLikeObject(document.body.children);
1184
+ * // => true
1185
+ *
1186
+ * _.isArrayLikeObject('abc');
1187
+ * // => false
1188
+ *
1189
+ * _.isArrayLikeObject(_.noop);
1190
+ * // => false
1227
1191
  */
1228
- function hashSet(key, value) {
1229
- var data = this.__data__;
1230
- this.size += this.has(key) ? 0 : 1;
1231
- data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
1232
- return this;
1192
+ function isArrayLikeObject(value) {
1193
+ return isObjectLike(value) && isArrayLike(value);
1233
1194
  }
1234
1195
  //#endregion
1235
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js
1196
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js
1236
1197
  /**
1237
- * Creates a hash object.
1198
+ * This method returns `false`.
1238
1199
  *
1239
- * @private
1240
- * @constructor
1241
- * @param {Array} [entries] The key-value pairs to cache.
1200
+ * @static
1201
+ * @memberOf _
1202
+ * @since 4.13.0
1203
+ * @category Util
1204
+ * @returns {boolean} Returns `false`.
1205
+ * @example
1206
+ *
1207
+ * _.times(2, _.stubFalse);
1208
+ * // => [false, false]
1242
1209
  */
1243
- function Hash(entries) {
1244
- var index = -1, length = entries == null ? 0 : entries.length;
1245
- this.clear();
1246
- while (++index < length) {
1247
- var entry = entries[index];
1248
- this.set(entry[0], entry[1]);
1249
- }
1210
+ function stubFalse() {
1211
+ return false;
1250
1212
  }
1251
- Hash.prototype.clear = hashClear;
1252
- Hash.prototype["delete"] = hashDelete;
1253
- Hash.prototype.get = hashGet;
1254
- Hash.prototype.has = hashHas;
1255
- Hash.prototype.set = hashSet;
1256
1213
  //#endregion
1257
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js
1214
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js
1215
+ /** Detect free variable `exports`. */
1216
+ var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
1217
+ /** Detect free variable `module`. */
1218
+ var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
1219
+ /** Built-in value references. */
1220
+ var Buffer$1 = freeModule$1 && freeModule$1.exports === freeExports$1 ? root.Buffer : void 0;
1258
1221
  /**
1259
- * Removes all key-value entries from the list cache.
1222
+ * Checks if `value` is a buffer.
1260
1223
  *
1261
- * @private
1262
- * @name clear
1263
- * @memberOf ListCache
1224
+ * @static
1225
+ * @memberOf _
1226
+ * @since 4.3.0
1227
+ * @category Lang
1228
+ * @param {*} value The value to check.
1229
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
1230
+ * @example
1231
+ *
1232
+ * _.isBuffer(new Buffer(2));
1233
+ * // => true
1234
+ *
1235
+ * _.isBuffer(new Uint8Array(2));
1236
+ * // => false
1264
1237
  */
1265
- function listCacheClear() {
1266
- this.__data__ = [];
1267
- this.size = 0;
1238
+ var isBuffer = (Buffer$1 ? Buffer$1.isBuffer : void 0) || stubFalse;
1239
+ //#endregion
1240
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js
1241
+ /** `Object#toString` result references. */
1242
+ var objectTag$1 = "[object Object]";
1243
+ /** Used for built-in method references. */
1244
+ var funcProto = Function.prototype, objectProto = Object.prototype;
1245
+ /** Used to resolve the decompiled source of functions. */
1246
+ var funcToString = funcProto.toString;
1247
+ /** Used to check objects for own properties. */
1248
+ var hasOwnProperty$3 = objectProto.hasOwnProperty;
1249
+ /** Used to infer the `Object` constructor. */
1250
+ var objectCtorString = funcToString.call(Object);
1251
+ /**
1252
+ * Checks if `value` is a plain object, that is, an object created by the
1253
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
1254
+ *
1255
+ * @static
1256
+ * @memberOf _
1257
+ * @since 0.8.0
1258
+ * @category Lang
1259
+ * @param {*} value The value to check.
1260
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
1261
+ * @example
1262
+ *
1263
+ * function Foo() {
1264
+ * this.a = 1;
1265
+ * }
1266
+ *
1267
+ * _.isPlainObject(new Foo);
1268
+ * // => false
1269
+ *
1270
+ * _.isPlainObject([1, 2, 3]);
1271
+ * // => false
1272
+ *
1273
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
1274
+ * // => true
1275
+ *
1276
+ * _.isPlainObject(Object.create(null));
1277
+ * // => true
1278
+ */
1279
+ function isPlainObject(value) {
1280
+ if (!isObjectLike(value) || baseGetTag(value) != objectTag$1) return false;
1281
+ var proto = getPrototype(value);
1282
+ if (proto === null) return true;
1283
+ var Ctor = hasOwnProperty$3.call(proto, "constructor") && proto.constructor;
1284
+ return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
1268
1285
  }
1269
1286
  //#endregion
1270
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js
1287
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js
1288
+ /** `Object#toString` result references. */
1289
+ var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", weakMapTag = "[object WeakMap]";
1290
+ var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
1291
+ /** Used to identify `toStringTag` values of typed arrays. */
1292
+ var typedArrayTags = {};
1293
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
1294
+ typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
1271
1295
  /**
1272
- * Gets the index at which the `key` is found in `array` of key-value pairs.
1296
+ * The base implementation of `_.isTypedArray` without Node.js optimizations.
1273
1297
  *
1274
1298
  * @private
1275
- * @param {Array} array The array to inspect.
1276
- * @param {*} key The key to search for.
1277
- * @returns {number} Returns the index of the matched value, else `-1`.
1299
+ * @param {*} value The value to check.
1300
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1278
1301
  */
1279
- function assocIndexOf(array, key) {
1280
- var length = array.length;
1281
- while (length--) if (eq(array[length][0], key)) return length;
1282
- return -1;
1302
+ function baseIsTypedArray(value) {
1303
+ return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
1283
1304
  }
1284
1305
  //#endregion
1285
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js
1286
- /** Built-in value references. */
1287
- var splice = Array.prototype.splice;
1306
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js
1288
1307
  /**
1289
- * Removes `key` and its value from the list cache.
1308
+ * The base implementation of `_.unary` without support for storing metadata.
1290
1309
  *
1291
1310
  * @private
1292
- * @name delete
1293
- * @memberOf ListCache
1294
- * @param {string} key The key of the value to remove.
1295
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
1311
+ * @param {Function} func The function to cap arguments for.
1312
+ * @returns {Function} Returns the new capped function.
1296
1313
  */
1297
- function listCacheDelete(key) {
1298
- var data = this.__data__, index = assocIndexOf(data, key);
1299
- if (index < 0) return false;
1300
- if (index == data.length - 1) data.pop();
1301
- else splice.call(data, index, 1);
1302
- --this.size;
1303
- return true;
1314
+ function baseUnary(func) {
1315
+ return function(value) {
1316
+ return func(value);
1317
+ };
1304
1318
  }
1305
1319
  //#endregion
1306
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js
1320
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js
1321
+ /** Detect free variable `exports`. */
1322
+ var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
1323
+ /** Detect free variable `module`. */
1324
+ var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
1325
+ /** Detect free variable `process` from Node.js. */
1326
+ var freeProcess = freeModule && freeModule.exports === freeExports && freeGlobal.process;
1327
+ /** Used to access faster Node.js helpers. */
1328
+ var nodeUtil = function() {
1329
+ try {
1330
+ var types = freeModule && freeModule.require && freeModule.require("util").types;
1331
+ if (types) return types;
1332
+ return freeProcess && freeProcess.binding && freeProcess.binding("util");
1333
+ } catch (e) {}
1334
+ }();
1335
+ //#endregion
1336
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js
1337
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
1307
1338
  /**
1308
- * Gets the list cache value for `key`.
1339
+ * Checks if `value` is classified as a typed array.
1309
1340
  *
1310
- * @private
1311
- * @name get
1312
- * @memberOf ListCache
1313
- * @param {string} key The key of the value to get.
1314
- * @returns {*} Returns the entry value.
1341
+ * @static
1342
+ * @memberOf _
1343
+ * @since 3.0.0
1344
+ * @category Lang
1345
+ * @param {*} value The value to check.
1346
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
1347
+ * @example
1348
+ *
1349
+ * _.isTypedArray(new Uint8Array);
1350
+ * // => true
1351
+ *
1352
+ * _.isTypedArray([]);
1353
+ * // => false
1315
1354
  */
1316
- function listCacheGet(key) {
1317
- var data = this.__data__, index = assocIndexOf(data, key);
1318
- return index < 0 ? void 0 : data[index][1];
1319
- }
1355
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
1320
1356
  //#endregion
1321
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js
1357
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.js
1322
1358
  /**
1323
- * Checks if a list cache value for `key` exists.
1359
+ * Gets the value at `key`, unless `key` is "__proto__" or "constructor".
1324
1360
  *
1325
1361
  * @private
1326
- * @name has
1327
- * @memberOf ListCache
1328
- * @param {string} key The key of the entry to check.
1329
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
1362
+ * @param {Object} object The object to query.
1363
+ * @param {string} key The key of the property to get.
1364
+ * @returns {*} Returns the property value.
1330
1365
  */
1331
- function listCacheHas(key) {
1332
- return assocIndexOf(this.__data__, key) > -1;
1366
+ function safeGet(object, key) {
1367
+ if (key === "constructor" && typeof object[key] === "function") return;
1368
+ if (key == "__proto__") return;
1369
+ return object[key];
1333
1370
  }
1334
1371
  //#endregion
1335
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js
1372
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js
1373
+ /** Used to check objects for own properties. */
1374
+ var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
1336
1375
  /**
1337
- * Sets the list cache `key` to `value`.
1376
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
1377
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
1378
+ * for equality comparisons.
1338
1379
  *
1339
1380
  * @private
1340
- * @name set
1341
- * @memberOf ListCache
1342
- * @param {string} key The key of the value to set.
1343
- * @param {*} value The value to set.
1344
- * @returns {Object} Returns the list cache instance.
1381
+ * @param {Object} object The object to modify.
1382
+ * @param {string} key The key of the property to assign.
1383
+ * @param {*} value The value to assign.
1345
1384
  */
1346
- function listCacheSet(key, value) {
1347
- var data = this.__data__, index = assocIndexOf(data, key);
1348
- if (index < 0) {
1349
- ++this.size;
1350
- data.push([key, value]);
1351
- } else data[index][1] = value;
1352
- return this;
1385
+ function assignValue(object, key, value) {
1386
+ var objValue = object[key];
1387
+ if (!(hasOwnProperty$2.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
1353
1388
  }
1354
1389
  //#endregion
1355
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js
1390
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js
1356
1391
  /**
1357
- * Creates an list cache object.
1392
+ * Copies properties of `source` to `object`.
1358
1393
  *
1359
1394
  * @private
1360
- * @constructor
1361
- * @param {Array} [entries] The key-value pairs to cache.
1395
+ * @param {Object} source The object to copy properties from.
1396
+ * @param {Array} props The property identifiers to copy.
1397
+ * @param {Object} [object={}] The object to copy properties to.
1398
+ * @param {Function} [customizer] The function to customize copied values.
1399
+ * @returns {Object} Returns `object`.
1362
1400
  */
1363
- function ListCache(entries) {
1364
- var index = -1, length = entries == null ? 0 : entries.length;
1365
- this.clear();
1401
+ function copyObject(source, props, object, customizer) {
1402
+ var isNew = !object;
1403
+ object || (object = {});
1404
+ var index = -1, length = props.length;
1366
1405
  while (++index < length) {
1367
- var entry = entries[index];
1368
- this.set(entry[0], entry[1]);
1406
+ var key = props[index];
1407
+ var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
1408
+ if (newValue === void 0) newValue = source[key];
1409
+ if (isNew) baseAssignValue(object, key, newValue);
1410
+ else assignValue(object, key, newValue);
1369
1411
  }
1412
+ return object;
1370
1413
  }
1371
- ListCache.prototype.clear = listCacheClear;
1372
- ListCache.prototype["delete"] = listCacheDelete;
1373
- ListCache.prototype.get = listCacheGet;
1374
- ListCache.prototype.has = listCacheHas;
1375
- ListCache.prototype.set = listCacheSet;
1376
- //#endregion
1377
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js
1378
- var Map = getNative(root, "Map");
1379
1414
  //#endregion
1380
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js
1415
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js
1381
1416
  /**
1382
- * Removes all key-value entries from the map.
1417
+ * The base implementation of `_.times` without support for iteratee shorthands
1418
+ * or max array length checks.
1383
1419
  *
1384
1420
  * @private
1385
- * @name clear
1386
- * @memberOf MapCache
1421
+ * @param {number} n The number of times to invoke `iteratee`.
1422
+ * @param {Function} iteratee The function invoked per iteration.
1423
+ * @returns {Array} Returns the array of results.
1387
1424
  */
1388
- function mapCacheClear() {
1389
- this.size = 0;
1390
- this.__data__ = {
1391
- "hash": new Hash(),
1392
- "map": new (Map || ListCache)(),
1393
- "string": new Hash()
1394
- };
1425
+ function baseTimes(n, iteratee) {
1426
+ var index = -1, result = Array(n);
1427
+ while (++index < n) result[index] = iteratee(index);
1428
+ return result;
1395
1429
  }
1396
1430
  //#endregion
1397
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js
1431
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js
1432
+ /** Used as references for various `Number` constants. */
1433
+ var MAX_SAFE_INTEGER = 9007199254740991;
1434
+ /** Used to detect unsigned integer values. */
1435
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
1398
1436
  /**
1399
- * Checks if `value` is suitable for use as unique object key.
1437
+ * Checks if `value` is a valid array-like index.
1400
1438
  *
1401
1439
  * @private
1402
1440
  * @param {*} value The value to check.
1403
- * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
1441
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1442
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1404
1443
  */
1405
- function isKeyable(value) {
1444
+ function isIndex(value, length) {
1406
1445
  var type = typeof value;
1407
- return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
1446
+ length = length == null ? MAX_SAFE_INTEGER : length;
1447
+ return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
1408
1448
  }
1409
1449
  //#endregion
1410
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js
1450
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js
1451
+ /** Used to check objects for own properties. */
1452
+ var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
1411
1453
  /**
1412
- * Gets the data for `map`.
1454
+ * Creates an array of the enumerable property names of the array-like `value`.
1413
1455
  *
1414
1456
  * @private
1415
- * @param {Object} map The map to query.
1416
- * @param {string} key The reference key.
1417
- * @returns {*} Returns the map data.
1457
+ * @param {*} value The value to query.
1458
+ * @param {boolean} inherited Specify returning inherited property names.
1459
+ * @returns {Array} Returns the array of property names.
1418
1460
  */
1419
- function getMapData(map, key) {
1420
- var data = map.__data__;
1421
- return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
1461
+ function arrayLikeKeys(value, inherited) {
1462
+ var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
1463
+ for (var key in value) if ((inherited || hasOwnProperty$1.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) result.push(key);
1464
+ return result;
1422
1465
  }
1423
1466
  //#endregion
1424
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js
1467
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js
1425
1468
  /**
1426
- * Removes `key` and its value from the map.
1469
+ * This function is like
1470
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1471
+ * except that it includes inherited enumerable properties.
1427
1472
  *
1428
1473
  * @private
1429
- * @name delete
1430
- * @memberOf MapCache
1431
- * @param {string} key The key of the value to remove.
1432
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
1474
+ * @param {Object} object The object to query.
1475
+ * @returns {Array} Returns the array of property names.
1433
1476
  */
1434
- function mapCacheDelete(key) {
1435
- var result = getMapData(this, key)["delete"](key);
1436
- this.size -= result ? 1 : 0;
1477
+ function nativeKeysIn(object) {
1478
+ var result = [];
1479
+ if (object != null) for (var key in Object(object)) result.push(key);
1437
1480
  return result;
1438
1481
  }
1439
1482
  //#endregion
1440
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js
1483
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js
1484
+ /** Used to check objects for own properties. */
1485
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
1441
1486
  /**
1442
- * Gets the map value for `key`.
1487
+ * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
1443
1488
  *
1444
1489
  * @private
1445
- * @name get
1446
- * @memberOf MapCache
1447
- * @param {string} key The key of the value to get.
1448
- * @returns {*} Returns the entry value.
1490
+ * @param {Object} object The object to query.
1491
+ * @returns {Array} Returns the array of property names.
1449
1492
  */
1450
- function mapCacheGet(key) {
1451
- return getMapData(this, key).get(key);
1493
+ function baseKeysIn(object) {
1494
+ if (!isObject(object)) return nativeKeysIn(object);
1495
+ var isProto = isPrototype(object), result = [];
1496
+ for (var key in object) if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) result.push(key);
1497
+ return result;
1452
1498
  }
1453
1499
  //#endregion
1454
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js
1500
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js
1455
1501
  /**
1456
- * Checks if a map value for `key` exists.
1502
+ * Creates an array of the own and inherited enumerable property names of `object`.
1457
1503
  *
1458
- * @private
1459
- * @name has
1460
- * @memberOf MapCache
1461
- * @param {string} key The key of the entry to check.
1462
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
1463
- */
1464
- function mapCacheHas(key) {
1465
- return getMapData(this, key).has(key);
1466
- }
1467
- //#endregion
1468
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js
1469
- /**
1470
- * Sets the map `key` to `value`.
1504
+ * **Note:** Non-object values are coerced to objects.
1471
1505
  *
1472
- * @private
1473
- * @name set
1474
- * @memberOf MapCache
1475
- * @param {string} key The key of the value to set.
1476
- * @param {*} value The value to set.
1477
- * @returns {Object} Returns the map cache instance.
1478
- */
1479
- function mapCacheSet(key, value) {
1480
- var data = getMapData(this, key), size = data.size;
1481
- data.set(key, value);
1482
- this.size += data.size == size ? 0 : 1;
1483
- return this;
1484
- }
1485
- //#endregion
1486
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js
1487
- /**
1488
- * Creates a map cache object to store key-value pairs.
1506
+ * @static
1507
+ * @memberOf _
1508
+ * @since 3.0.0
1509
+ * @category Object
1510
+ * @param {Object} object The object to query.
1511
+ * @returns {Array} Returns the array of property names.
1512
+ * @example
1489
1513
  *
1490
- * @private
1491
- * @constructor
1492
- * @param {Array} [entries] The key-value pairs to cache.
1514
+ * function Foo() {
1515
+ * this.a = 1;
1516
+ * this.b = 2;
1517
+ * }
1518
+ *
1519
+ * Foo.prototype.c = 3;
1520
+ *
1521
+ * _.keysIn(new Foo);
1522
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
1493
1523
  */
1494
- function MapCache(entries) {
1495
- var index = -1, length = entries == null ? 0 : entries.length;
1496
- this.clear();
1497
- while (++index < length) {
1498
- var entry = entries[index];
1499
- this.set(entry[0], entry[1]);
1500
- }
1524
+ function keysIn(object) {
1525
+ return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
1501
1526
  }
1502
- MapCache.prototype.clear = mapCacheClear;
1503
- MapCache.prototype["delete"] = mapCacheDelete;
1504
- MapCache.prototype.get = mapCacheGet;
1505
- MapCache.prototype.has = mapCacheHas;
1506
- MapCache.prototype.set = mapCacheSet;
1507
- //#endregion
1508
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js
1509
- /** Built-in value references. */
1510
- var getPrototype = overArg(Object.getPrototypeOf, Object);
1511
1527
  //#endregion
1512
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js
1513
- /** `Object#toString` result references. */
1514
- var objectTag = "[object Object]";
1515
- /** Used for built-in method references. */
1516
- var funcProto = Function.prototype, objectProto = Object.prototype;
1517
- /** Used to resolve the decompiled source of functions. */
1518
- var funcToString = funcProto.toString;
1519
- /** Used to check objects for own properties. */
1520
- var hasOwnProperty = objectProto.hasOwnProperty;
1521
- /** Used to infer the `Object` constructor. */
1522
- var objectCtorString = funcToString.call(Object);
1528
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.js
1523
1529
  /**
1524
- * Checks if `value` is a plain object, that is, an object created by the
1525
- * `Object` constructor or one with a `[[Prototype]]` of `null`.
1530
+ * Converts `value` to a plain object flattening inherited enumerable string
1531
+ * keyed properties of `value` to own properties of the plain object.
1526
1532
  *
1527
1533
  * @static
1528
1534
  * @memberOf _
1529
- * @since 0.8.0
1535
+ * @since 3.0.0
1530
1536
  * @category Lang
1531
- * @param {*} value The value to check.
1532
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
1537
+ * @param {*} value The value to convert.
1538
+ * @returns {Object} Returns the converted plain object.
1533
1539
  * @example
1534
1540
  *
1535
1541
  * function Foo() {
1536
- * this.a = 1;
1542
+ * this.b = 2;
1537
1543
  * }
1538
1544
  *
1539
- * _.isPlainObject(new Foo);
1540
- * // => false
1541
- *
1542
- * _.isPlainObject([1, 2, 3]);
1543
- * // => false
1545
+ * Foo.prototype.c = 3;
1544
1546
  *
1545
- * _.isPlainObject({ 'x': 0, 'y': 0 });
1546
- * // => true
1547
+ * _.assign({ 'a': 1 }, new Foo);
1548
+ * // => { 'a': 1, 'b': 2 }
1547
1549
  *
1548
- * _.isPlainObject(Object.create(null));
1549
- * // => true
1550
+ * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
1551
+ * // => { 'a': 1, 'b': 2, 'c': 3 }
1550
1552
  */
1551
- function isPlainObject(value) {
1552
- if (!isObjectLike(value) || baseGetTag(value) != objectTag) return false;
1553
- var proto = getPrototype(value);
1554
- if (proto === null) return true;
1555
- var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
1556
- return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
1553
+ function toPlainObject(value) {
1554
+ return copyObject(value, keysIn(value));
1557
1555
  }
1558
1556
  //#endregion
1559
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js
1557
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.js
1560
1558
  /**
1561
- * Removes all key-value entries from the stack.
1559
+ * A specialized version of `baseMerge` for arrays and objects which performs
1560
+ * deep merges and tracks traversed objects enabling objects with circular
1561
+ * references to be merged.
1562
1562
  *
1563
1563
  * @private
1564
- * @name clear
1565
- * @memberOf Stack
1564
+ * @param {Object} object The destination object.
1565
+ * @param {Object} source The source object.
1566
+ * @param {string} key The key of the value to merge.
1567
+ * @param {number} srcIndex The index of `source`.
1568
+ * @param {Function} mergeFunc The function to merge values.
1569
+ * @param {Function} [customizer] The function to customize assigned values.
1570
+ * @param {Object} [stack] Tracks traversed source values and their merged
1571
+ * counterparts.
1566
1572
  */
1567
- function stackClear() {
1568
- this.__data__ = new ListCache();
1569
- this.size = 0;
1573
+ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
1574
+ var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
1575
+ if (stacked) {
1576
+ assignMergeValue(object, key, stacked);
1577
+ return;
1578
+ }
1579
+ var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0;
1580
+ var isCommon = newValue === void 0;
1581
+ if (isCommon) {
1582
+ var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
1583
+ newValue = srcValue;
1584
+ if (isArr || isBuff || isTyped) if (isArray(objValue)) newValue = objValue;
1585
+ else if (isArrayLikeObject(objValue)) newValue = copyArray(objValue);
1586
+ else if (isBuff) {
1587
+ isCommon = false;
1588
+ newValue = cloneBuffer(srcValue, true);
1589
+ } else if (isTyped) {
1590
+ isCommon = false;
1591
+ newValue = cloneTypedArray(srcValue, true);
1592
+ } else newValue = [];
1593
+ else if (isPlainObject(srcValue) || isArguments(srcValue)) {
1594
+ newValue = objValue;
1595
+ if (isArguments(objValue)) newValue = toPlainObject(objValue);
1596
+ else if (!isObject(objValue) || isFunction(objValue)) newValue = initCloneObject(srcValue);
1597
+ } else isCommon = false;
1598
+ }
1599
+ if (isCommon) {
1600
+ stack.set(srcValue, newValue);
1601
+ mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
1602
+ stack["delete"](srcValue);
1603
+ }
1604
+ assignMergeValue(object, key, newValue);
1570
1605
  }
1571
1606
  //#endregion
1572
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js
1607
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.js
1573
1608
  /**
1574
- * Removes `key` and its value from the stack.
1609
+ * The base implementation of `_.merge` without support for multiple sources.
1575
1610
  *
1576
1611
  * @private
1577
- * @name delete
1578
- * @memberOf Stack
1579
- * @param {string} key The key of the value to remove.
1580
- * @returns {boolean} Returns `true` if the entry was removed, else `false`.
1612
+ * @param {Object} object The destination object.
1613
+ * @param {Object} source The source object.
1614
+ * @param {number} srcIndex The index of `source`.
1615
+ * @param {Function} [customizer] The function to customize merged values.
1616
+ * @param {Object} [stack] Tracks traversed source values and their merged
1617
+ * counterparts.
1581
1618
  */
1582
- function stackDelete(key) {
1583
- var data = this.__data__, result = data["delete"](key);
1584
- this.size = data.size;
1585
- return result;
1619
+ function baseMerge(object, source, srcIndex, customizer, stack) {
1620
+ if (object === source) return;
1621
+ baseFor(source, function(srcValue, key) {
1622
+ stack || (stack = new Stack());
1623
+ if (isObject(srcValue)) baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
1624
+ else {
1625
+ var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0;
1626
+ if (newValue === void 0) newValue = srcValue;
1627
+ assignMergeValue(object, key, newValue);
1628
+ }
1629
+ }, keysIn);
1586
1630
  }
1587
1631
  //#endregion
1588
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js
1632
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js
1589
1633
  /**
1590
- * Gets the stack value for `key`.
1634
+ * This method returns the first argument it receives.
1591
1635
  *
1592
- * @private
1593
- * @name get
1594
- * @memberOf Stack
1595
- * @param {string} key The key of the value to get.
1596
- * @returns {*} Returns the entry value.
1636
+ * @static
1637
+ * @since 0.1.0
1638
+ * @memberOf _
1639
+ * @category Util
1640
+ * @param {*} value Any value.
1641
+ * @returns {*} Returns `value`.
1642
+ * @example
1643
+ *
1644
+ * var object = { 'a': 1 };
1645
+ *
1646
+ * console.log(_.identity(object) === object);
1647
+ * // => true
1597
1648
  */
1598
- function stackGet(key) {
1599
- return this.__data__.get(key);
1649
+ function identity(value) {
1650
+ return value;
1600
1651
  }
1601
1652
  //#endregion
1602
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js
1653
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js
1603
1654
  /**
1604
- * Checks if a stack value for `key` exists.
1655
+ * A faster alternative to `Function#apply`, this function invokes `func`
1656
+ * with the `this` binding of `thisArg` and the arguments of `args`.
1605
1657
  *
1606
1658
  * @private
1607
- * @name has
1608
- * @memberOf Stack
1609
- * @param {string} key The key of the entry to check.
1610
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
1659
+ * @param {Function} func The function to invoke.
1660
+ * @param {*} thisArg The `this` binding of `func`.
1661
+ * @param {Array} args The arguments to invoke `func` with.
1662
+ * @returns {*} Returns the result of `func`.
1611
1663
  */
1612
- function stackHas(key) {
1613
- return this.__data__.has(key);
1664
+ function apply(func, thisArg, args) {
1665
+ switch (args.length) {
1666
+ case 0: return func.call(thisArg);
1667
+ case 1: return func.call(thisArg, args[0]);
1668
+ case 2: return func.call(thisArg, args[0], args[1]);
1669
+ case 3: return func.call(thisArg, args[0], args[1], args[2]);
1670
+ }
1671
+ return func.apply(thisArg, args);
1614
1672
  }
1615
1673
  //#endregion
1616
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js
1617
- /** Used as the size to enable large array optimizations. */
1618
- var LARGE_ARRAY_SIZE = 200;
1674
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js
1675
+ var nativeMax$1 = Math.max;
1619
1676
  /**
1620
- * Sets the stack `key` to `value`.
1677
+ * A specialized version of `baseRest` which transforms the rest array.
1621
1678
  *
1622
1679
  * @private
1623
- * @name set
1624
- * @memberOf Stack
1625
- * @param {string} key The key of the value to set.
1626
- * @param {*} value The value to set.
1627
- * @returns {Object} Returns the stack cache instance.
1680
+ * @param {Function} func The function to apply a rest parameter to.
1681
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
1682
+ * @param {Function} transform The rest array transform.
1683
+ * @returns {Function} Returns the new function.
1628
1684
  */
1629
- function stackSet(key, value) {
1630
- var data = this.__data__;
1631
- if (data instanceof ListCache) {
1632
- var pairs = data.__data__;
1633
- if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {
1634
- pairs.push([key, value]);
1635
- this.size = ++data.size;
1636
- return this;
1637
- }
1638
- data = this.__data__ = new MapCache(pairs);
1639
- }
1640
- data.set(key, value);
1641
- this.size = data.size;
1642
- return this;
1685
+ function overRest(func, start, transform) {
1686
+ start = nativeMax$1(start === void 0 ? func.length - 1 : start, 0);
1687
+ return function() {
1688
+ var args = arguments, index = -1, length = nativeMax$1(args.length - start, 0), array = Array(length);
1689
+ while (++index < length) array[index] = args[start + index];
1690
+ index = -1;
1691
+ var otherArgs = Array(start + 1);
1692
+ while (++index < start) otherArgs[index] = args[index];
1693
+ otherArgs[start] = transform(array);
1694
+ return apply(func, this, otherArgs);
1695
+ };
1643
1696
  }
1644
1697
  //#endregion
1645
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js
1698
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js
1646
1699
  /**
1647
- * Creates a stack cache object to store key-value pairs.
1700
+ * Creates a function that returns `value`.
1648
1701
  *
1649
- * @private
1650
- * @constructor
1651
- * @param {Array} [entries] The key-value pairs to cache.
1702
+ * @static
1703
+ * @memberOf _
1704
+ * @since 2.4.0
1705
+ * @category Util
1706
+ * @param {*} value The value to return from the new function.
1707
+ * @returns {Function} Returns the new constant function.
1708
+ * @example
1709
+ *
1710
+ * var objects = _.times(2, _.constant({ 'a': 1 }));
1711
+ *
1712
+ * console.log(objects);
1713
+ * // => [{ 'a': 1 }, { 'a': 1 }]
1714
+ *
1715
+ * console.log(objects[0] === objects[1]);
1716
+ * // => true
1652
1717
  */
1653
- function Stack(entries) {
1654
- var data = this.__data__ = new ListCache(entries);
1655
- this.size = data.size;
1718
+ function constant(value) {
1719
+ return function() {
1720
+ return value;
1721
+ };
1656
1722
  }
1657
- Stack.prototype.clear = stackClear;
1658
- Stack.prototype["delete"] = stackDelete;
1659
- Stack.prototype.get = stackGet;
1660
- Stack.prototype.has = stackHas;
1661
- Stack.prototype.set = stackSet;
1662
1723
  //#endregion
1663
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js
1664
- /** Detect free variable `exports`. */
1665
- var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
1666
- /** Detect free variable `module`. */
1667
- var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
1668
- /** Built-in value references. */
1669
- var Buffer$1 = freeModule && freeModule.exports === freeExports ? root.Buffer : void 0, allocUnsafe = Buffer$1 ? Buffer$1.allocUnsafe : void 0;
1724
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js
1670
1725
  /**
1671
- * Creates a clone of `buffer`.
1726
+ * The base implementation of `setToString` without support for hot loop shorting.
1672
1727
  *
1673
1728
  * @private
1674
- * @param {Buffer} buffer The buffer to clone.
1675
- * @param {boolean} [isDeep] Specify a deep clone.
1676
- * @returns {Buffer} Returns the cloned buffer.
1729
+ * @param {Function} func The function to modify.
1730
+ * @param {Function} string The `toString` result.
1731
+ * @returns {Function} Returns `func`.
1677
1732
  */
1678
- function cloneBuffer(buffer, isDeep) {
1679
- if (isDeep) return buffer.slice();
1680
- var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
1681
- buffer.copy(result);
1682
- return result;
1683
- }
1684
- //#endregion
1685
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js
1686
- /** Built-in value references. */
1687
- var Uint8Array$1 = root.Uint8Array;
1733
+ var baseSetToString = !defineProperty ? identity : function(func, string) {
1734
+ return defineProperty(func, "toString", {
1735
+ "configurable": true,
1736
+ "enumerable": false,
1737
+ "value": constant(string),
1738
+ "writable": true
1739
+ });
1740
+ };
1688
1741
  //#endregion
1689
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js
1742
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js
1743
+ /** Used to detect hot functions by number of calls within a span of milliseconds. */
1744
+ var HOT_COUNT = 800, HOT_SPAN = 16;
1745
+ var nativeNow = Date.now;
1690
1746
  /**
1691
- * Creates a clone of `arrayBuffer`.
1747
+ * Creates a function that'll short out and invoke `identity` instead
1748
+ * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
1749
+ * milliseconds.
1692
1750
  *
1693
1751
  * @private
1694
- * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
1695
- * @returns {ArrayBuffer} Returns the cloned array buffer.
1752
+ * @param {Function} func The function to restrict.
1753
+ * @returns {Function} Returns the new shortable function.
1696
1754
  */
1697
- function cloneArrayBuffer(arrayBuffer) {
1698
- var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
1699
- new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
1700
- return result;
1755
+ function shortOut(func) {
1756
+ var count = 0, lastCalled = 0;
1757
+ return function() {
1758
+ var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
1759
+ lastCalled = stamp;
1760
+ if (remaining > 0) {
1761
+ if (++count >= HOT_COUNT) return arguments[0];
1762
+ } else count = 0;
1763
+ return func.apply(void 0, arguments);
1764
+ };
1701
1765
  }
1702
1766
  //#endregion
1703
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js
1767
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js
1704
1768
  /**
1705
- * Creates a clone of `typedArray`.
1769
+ * Sets the `toString` method of `func` to return `string`.
1706
1770
  *
1707
1771
  * @private
1708
- * @param {Object} typedArray The typed array to clone.
1709
- * @param {boolean} [isDeep] Specify a deep clone.
1710
- * @returns {Object} Returns the cloned typed array.
1772
+ * @param {Function} func The function to modify.
1773
+ * @param {Function} string The `toString` result.
1774
+ * @returns {Function} Returns `func`.
1711
1775
  */
1712
- function cloneTypedArray(typedArray, isDeep) {
1713
- var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
1714
- return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
1776
+ var setToString = shortOut(baseSetToString);
1777
+ //#endregion
1778
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js
1779
+ /**
1780
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
1781
+ *
1782
+ * @private
1783
+ * @param {Function} func The function to apply a rest parameter to.
1784
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
1785
+ * @returns {Function} Returns the new function.
1786
+ */
1787
+ function baseRest(func, start) {
1788
+ return setToString(overRest(func, start, identity), func + "");
1715
1789
  }
1716
1790
  //#endregion
1717
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js
1791
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js
1718
1792
  /**
1719
- * Initializes an object clone.
1793
+ * Checks if the given arguments are from an iteratee call.
1720
1794
  *
1721
1795
  * @private
1722
- * @param {Object} object The object to clone.
1723
- * @returns {Object} Returns the initialized clone.
1796
+ * @param {*} value The potential iteratee value argument.
1797
+ * @param {*} index The potential iteratee index or key argument.
1798
+ * @param {*} object The potential iteratee object argument.
1799
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1800
+ * else `false`.
1724
1801
  */
1725
- function initCloneObject(object) {
1726
- return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
1802
+ function isIterateeCall(value, index, object) {
1803
+ if (!isObject(object)) return false;
1804
+ var type = typeof index;
1805
+ if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) return eq(object[index], value);
1806
+ return false;
1727
1807
  }
1728
1808
  //#endregion
1729
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.js
1809
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js
1730
1810
  /**
1731
- * Creates a base function for methods like `_.forIn` and `_.forOwn`.
1811
+ * Creates a function like `_.assign`.
1732
1812
  *
1733
1813
  * @private
1734
- * @param {boolean} [fromRight] Specify iterating from right to left.
1735
- * @returns {Function} Returns the new base function.
1814
+ * @param {Function} assigner The function to assign values.
1815
+ * @returns {Function} Returns the new assigner function.
1736
1816
  */
1737
- function createBaseFor(fromRight) {
1738
- return function(object, iteratee, keysFunc) {
1739
- var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
1740
- while (length--) {
1741
- var key = props[fromRight ? length : ++index];
1742
- if (iteratee(iterable[key], key, iterable) === false) break;
1817
+ function createAssigner(assigner) {
1818
+ return baseRest(function(object, sources) {
1819
+ var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
1820
+ customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
1821
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
1822
+ customizer = length < 3 ? void 0 : customizer;
1823
+ length = 1;
1824
+ }
1825
+ object = Object(object);
1826
+ while (++index < length) {
1827
+ var source = sources[index];
1828
+ if (source) assigner(object, source, index, customizer);
1743
1829
  }
1744
1830
  return object;
1745
- };
1831
+ });
1746
1832
  }
1747
1833
  //#endregion
1748
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.js
1834
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js
1749
1835
  /**
1750
- * The base implementation of `baseForOwn` which iterates over `object`
1751
- * properties returned by `keysFunc` and invokes `iteratee` for each property.
1752
- * Iteratee functions may exit iteration early by explicitly returning `false`.
1836
+ * This method is like `_.assign` except that it recursively merges own and
1837
+ * inherited enumerable string keyed properties of source objects into the
1838
+ * destination object. Source properties that resolve to `undefined` are
1839
+ * skipped if a destination value exists. Array and plain object properties
1840
+ * are merged recursively. Other objects and value types are overridden by
1841
+ * assignment. Source objects are applied from left to right. Subsequent
1842
+ * sources overwrite property assignments of previous sources.
1753
1843
  *
1754
- * @private
1755
- * @param {Object} object The object to iterate over.
1756
- * @param {Function} iteratee The function invoked per iteration.
1757
- * @param {Function} keysFunc The function to get the keys of `object`.
1844
+ * **Note:** This method mutates `object`.
1845
+ *
1846
+ * @static
1847
+ * @memberOf _
1848
+ * @since 0.5.0
1849
+ * @category Object
1850
+ * @param {Object} object The destination object.
1851
+ * @param {...Object} [sources] The source objects.
1758
1852
  * @returns {Object} Returns `object`.
1853
+ * @example
1854
+ *
1855
+ * var object = {
1856
+ * 'a': [{ 'b': 2 }, { 'd': 4 }]
1857
+ * };
1858
+ *
1859
+ * var other = {
1860
+ * 'a': [{ 'c': 3 }, { 'e': 5 }]
1861
+ * };
1862
+ *
1863
+ * _.merge(object, other);
1864
+ * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
1759
1865
  */
1760
- var baseFor = createBaseFor();
1866
+ var merge = createAssigner(function(object, source, srcIndex) {
1867
+ baseMerge(object, source, srcIndex);
1868
+ });
1761
1869
  //#endregion
1762
1870
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/now.js
1763
1871
  /**
@@ -1776,9 +1884,111 @@
1776
1884
  * }, _.now());
1777
1885
  * // => Logs the number of milliseconds it took for the deferred invocation.
1778
1886
  */
1779
- var now = function() {
1780
- return root.Date.now();
1781
- };
1887
+ var now = function() {
1888
+ return root.Date.now();
1889
+ };
1890
+ //#endregion
1891
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js
1892
+ /** Used to match a single whitespace character. */
1893
+ var reWhitespace = /\s/;
1894
+ /**
1895
+ * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
1896
+ * character of `string`.
1897
+ *
1898
+ * @private
1899
+ * @param {string} string The string to inspect.
1900
+ * @returns {number} Returns the index of the last non-whitespace character.
1901
+ */
1902
+ function trimmedEndIndex(string) {
1903
+ var index = string.length;
1904
+ while (index-- && reWhitespace.test(string.charAt(index)));
1905
+ return index;
1906
+ }
1907
+ //#endregion
1908
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js
1909
+ /** Used to match leading whitespace. */
1910
+ var reTrimStart = /^\s+/;
1911
+ /**
1912
+ * The base implementation of `_.trim`.
1913
+ *
1914
+ * @private
1915
+ * @param {string} string The string to trim.
1916
+ * @returns {string} Returns the trimmed string.
1917
+ */
1918
+ function baseTrim(string) {
1919
+ return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
1920
+ }
1921
+ //#endregion
1922
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js
1923
+ /** `Object#toString` result references. */
1924
+ var symbolTag = "[object Symbol]";
1925
+ /**
1926
+ * Checks if `value` is classified as a `Symbol` primitive or object.
1927
+ *
1928
+ * @static
1929
+ * @memberOf _
1930
+ * @since 4.0.0
1931
+ * @category Lang
1932
+ * @param {*} value The value to check.
1933
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
1934
+ * @example
1935
+ *
1936
+ * _.isSymbol(Symbol.iterator);
1937
+ * // => true
1938
+ *
1939
+ * _.isSymbol('abc');
1940
+ * // => false
1941
+ */
1942
+ function isSymbol(value) {
1943
+ return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
1944
+ }
1945
+ //#endregion
1946
+ //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js
1947
+ /** Used as references for various `Number` constants. */
1948
+ var NAN = NaN;
1949
+ /** Used to detect bad signed hexadecimal string values. */
1950
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
1951
+ /** Used to detect binary string values. */
1952
+ var reIsBinary = /^0b[01]+$/i;
1953
+ /** Used to detect octal string values. */
1954
+ var reIsOctal = /^0o[0-7]+$/i;
1955
+ /** Built-in method references without a dependency on `root`. */
1956
+ var freeParseInt = parseInt;
1957
+ /**
1958
+ * Converts `value` to a number.
1959
+ *
1960
+ * @static
1961
+ * @memberOf _
1962
+ * @since 4.0.0
1963
+ * @category Lang
1964
+ * @param {*} value The value to process.
1965
+ * @returns {number} Returns the number.
1966
+ * @example
1967
+ *
1968
+ * _.toNumber(3.2);
1969
+ * // => 3.2
1970
+ *
1971
+ * _.toNumber(Number.MIN_VALUE);
1972
+ * // => 5e-324
1973
+ *
1974
+ * _.toNumber(Infinity);
1975
+ * // => Infinity
1976
+ *
1977
+ * _.toNumber('3.2');
1978
+ * // => 3.2
1979
+ */
1980
+ function toNumber(value) {
1981
+ if (typeof value == "number") return value;
1982
+ if (isSymbol(value)) return NAN;
1983
+ if (isObject(value)) {
1984
+ var other = typeof value.valueOf == "function" ? value.valueOf() : value;
1985
+ value = isObject(other) ? other + "" : other;
1986
+ }
1987
+ if (typeof value != "string") return value === 0 ? value : +value;
1988
+ value = baseTrim(value);
1989
+ var isBinary = reIsBinary.test(value);
1990
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
1991
+ }
1782
1992
  //#endregion
1783
1993
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/debounce.js
1784
1994
  /** Error message constants. */
@@ -1908,205 +2118,6 @@
1908
2118
  return debounced;
1909
2119
  }
1910
2120
  //#endregion
1911
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.js
1912
- /**
1913
- * This function is like `assignValue` except that it doesn't assign
1914
- * `undefined` values.
1915
- *
1916
- * @private
1917
- * @param {Object} object The object to modify.
1918
- * @param {string} key The key of the property to assign.
1919
- * @param {*} value The value to assign.
1920
- */
1921
- function assignMergeValue(object, key, value) {
1922
- if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) baseAssignValue(object, key, value);
1923
- }
1924
- //#endregion
1925
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.js
1926
- /**
1927
- * This method is like `_.isArrayLike` except that it also checks if `value`
1928
- * is an object.
1929
- *
1930
- * @static
1931
- * @memberOf _
1932
- * @since 4.0.0
1933
- * @category Lang
1934
- * @param {*} value The value to check.
1935
- * @returns {boolean} Returns `true` if `value` is an array-like object,
1936
- * else `false`.
1937
- * @example
1938
- *
1939
- * _.isArrayLikeObject([1, 2, 3]);
1940
- * // => true
1941
- *
1942
- * _.isArrayLikeObject(document.body.children);
1943
- * // => true
1944
- *
1945
- * _.isArrayLikeObject('abc');
1946
- * // => false
1947
- *
1948
- * _.isArrayLikeObject(_.noop);
1949
- * // => false
1950
- */
1951
- function isArrayLikeObject(value) {
1952
- return isObjectLike(value) && isArrayLike(value);
1953
- }
1954
- //#endregion
1955
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.js
1956
- /**
1957
- * Gets the value at `key`, unless `key` is "__proto__" or "constructor".
1958
- *
1959
- * @private
1960
- * @param {Object} object The object to query.
1961
- * @param {string} key The key of the property to get.
1962
- * @returns {*} Returns the property value.
1963
- */
1964
- function safeGet(object, key) {
1965
- if (key === "constructor" && typeof object[key] === "function") return;
1966
- if (key == "__proto__") return;
1967
- return object[key];
1968
- }
1969
- //#endregion
1970
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.js
1971
- /**
1972
- * Converts `value` to a plain object flattening inherited enumerable string
1973
- * keyed properties of `value` to own properties of the plain object.
1974
- *
1975
- * @static
1976
- * @memberOf _
1977
- * @since 3.0.0
1978
- * @category Lang
1979
- * @param {*} value The value to convert.
1980
- * @returns {Object} Returns the converted plain object.
1981
- * @example
1982
- *
1983
- * function Foo() {
1984
- * this.b = 2;
1985
- * }
1986
- *
1987
- * Foo.prototype.c = 3;
1988
- *
1989
- * _.assign({ 'a': 1 }, new Foo);
1990
- * // => { 'a': 1, 'b': 2 }
1991
- *
1992
- * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
1993
- * // => { 'a': 1, 'b': 2, 'c': 3 }
1994
- */
1995
- function toPlainObject(value) {
1996
- return copyObject(value, keysIn(value));
1997
- }
1998
- //#endregion
1999
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.js
2000
- /**
2001
- * A specialized version of `baseMerge` for arrays and objects which performs
2002
- * deep merges and tracks traversed objects enabling objects with circular
2003
- * references to be merged.
2004
- *
2005
- * @private
2006
- * @param {Object} object The destination object.
2007
- * @param {Object} source The source object.
2008
- * @param {string} key The key of the value to merge.
2009
- * @param {number} srcIndex The index of `source`.
2010
- * @param {Function} mergeFunc The function to merge values.
2011
- * @param {Function} [customizer] The function to customize assigned values.
2012
- * @param {Object} [stack] Tracks traversed source values and their merged
2013
- * counterparts.
2014
- */
2015
- function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
2016
- var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
2017
- if (stacked) {
2018
- assignMergeValue(object, key, stacked);
2019
- return;
2020
- }
2021
- var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0;
2022
- var isCommon = newValue === void 0;
2023
- if (isCommon) {
2024
- var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
2025
- newValue = srcValue;
2026
- if (isArr || isBuff || isTyped) if (isArray(objValue)) newValue = objValue;
2027
- else if (isArrayLikeObject(objValue)) newValue = copyArray(objValue);
2028
- else if (isBuff) {
2029
- isCommon = false;
2030
- newValue = cloneBuffer(srcValue, true);
2031
- } else if (isTyped) {
2032
- isCommon = false;
2033
- newValue = cloneTypedArray(srcValue, true);
2034
- } else newValue = [];
2035
- else if (isPlainObject(srcValue) || isArguments(srcValue)) {
2036
- newValue = objValue;
2037
- if (isArguments(objValue)) newValue = toPlainObject(objValue);
2038
- else if (!isObject(objValue) || isFunction(objValue)) newValue = initCloneObject(srcValue);
2039
- } else isCommon = false;
2040
- }
2041
- if (isCommon) {
2042
- stack.set(srcValue, newValue);
2043
- mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
2044
- stack["delete"](srcValue);
2045
- }
2046
- assignMergeValue(object, key, newValue);
2047
- }
2048
- //#endregion
2049
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.js
2050
- /**
2051
- * The base implementation of `_.merge` without support for multiple sources.
2052
- *
2053
- * @private
2054
- * @param {Object} object The destination object.
2055
- * @param {Object} source The source object.
2056
- * @param {number} srcIndex The index of `source`.
2057
- * @param {Function} [customizer] The function to customize merged values.
2058
- * @param {Object} [stack] Tracks traversed source values and their merged
2059
- * counterparts.
2060
- */
2061
- function baseMerge(object, source, srcIndex, customizer, stack) {
2062
- if (object === source) return;
2063
- baseFor(source, function(srcValue, key) {
2064
- stack || (stack = new Stack());
2065
- if (isObject(srcValue)) baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
2066
- else {
2067
- var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0;
2068
- if (newValue === void 0) newValue = srcValue;
2069
- assignMergeValue(object, key, newValue);
2070
- }
2071
- }, keysIn);
2072
- }
2073
- //#endregion
2074
- //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js
2075
- /**
2076
- * This method is like `_.assign` except that it recursively merges own and
2077
- * inherited enumerable string keyed properties of source objects into the
2078
- * destination object. Source properties that resolve to `undefined` are
2079
- * skipped if a destination value exists. Array and plain object properties
2080
- * are merged recursively. Other objects and value types are overridden by
2081
- * assignment. Source objects are applied from left to right. Subsequent
2082
- * sources overwrite property assignments of previous sources.
2083
- *
2084
- * **Note:** This method mutates `object`.
2085
- *
2086
- * @static
2087
- * @memberOf _
2088
- * @since 0.5.0
2089
- * @category Object
2090
- * @param {Object} object The destination object.
2091
- * @param {...Object} [sources] The source objects.
2092
- * @returns {Object} Returns `object`.
2093
- * @example
2094
- *
2095
- * var object = {
2096
- * 'a': [{ 'b': 2 }, { 'd': 4 }]
2097
- * };
2098
- *
2099
- * var other = {
2100
- * 'a': [{ 'c': 3 }, { 'e': 5 }]
2101
- * };
2102
- *
2103
- * _.merge(object, other);
2104
- * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
2105
- */
2106
- var merge = createAssigner(function(object, source, srcIndex) {
2107
- baseMerge(object, source, srcIndex);
2108
- });
2109
- //#endregion
2110
2121
  //#region node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/throttle.js
2111
2122
  /** Error message constants. */
2112
2123
  var FUNC_ERROR_TEXT = "Expected a function";
@@ -2175,6 +2186,8 @@
2175
2186
  var DRAG_EL_ID_PREFIX = "drag_el_";
2176
2187
  /** 高亮时需要在蒙层中创建一个占位节点,该节点的id前缀 */
2177
2188
  var HIGHLIGHT_EL_ID_PREFIX = "highlight_el_";
2189
+ /** 闪烁提示时需要在蒙层中创建一个占位节点,该节点的id前缀 */
2190
+ var FLASH_EL_ID_PREFIX = "flash_el_";
2178
2191
  var CONTAINER_HIGHLIGHT_CLASS_NAME = "tmagic-stage-container-highlight";
2179
2192
  var PAGE_CLASS = "magic-ui-page";
2180
2193
  /** 默认放到缩小倍数 */
@@ -3993,6 +4006,104 @@
3993
4006
  };
3994
4007
  };
3995
4008
  //#endregion
4009
+ //#region packages/stage/src/StageFlashHighlight.ts
4010
+ /** 闪烁提示节点的 class name */
4011
+ var FLASH_TIP_CLASS_NAME = "tmagic-stage-flash-tip";
4012
+ /** 闪烁动画名称 */
4013
+ var FLASH_ANIMATION_NAME = "tmagic-stage-flash";
4014
+ /** 闪烁动画时长(ms) */
4015
+ var FLASH_DURATION = 1500;
4016
+ /**
4017
+ * 选中区域闪烁提示
4018
+ * @description 当组件不是通过点击画布选中(如从图层树、面包屑等外部选中)时,在画布上对选中区域做一次高亮闪烁,
4019
+ * 帮助用户快速定位组件在画布中的位置。
4020
+ */
4021
+ var StageFlashHighlight = class {
4022
+ /** 复用 TargetShadow 负责节点的定位校准(updateDragEl、fixed、滚动偏移等) */
4023
+ targetShadow;
4024
+ timer;
4025
+ styleEl;
4026
+ constructor(config) {
4027
+ this.targetShadow = new TargetShadow({
4028
+ container: config.container,
4029
+ updateDragEl: config.updateDragEl,
4030
+ zIndex: ZIndex.SELECTED_EL,
4031
+ idPrefix: FLASH_EL_ID_PREFIX
4032
+ });
4033
+ }
4034
+ /**
4035
+ * 在目标元素所在区域做一次高亮闪烁
4036
+ * @param el 选中组件的Dom节点元素
4037
+ */
4038
+ flash(el) {
4039
+ if (!el) return;
4040
+ this.injectStyle();
4041
+ this.clear();
4042
+ const flashEl = this.targetShadow.update(el);
4043
+ flashEl.classList.add(FLASH_TIP_CLASS_NAME);
4044
+ flashEl.style.boxSizing = "border-box";
4045
+ flashEl.style.pointerEvents = "none";
4046
+ flashEl.style.border = "";
4047
+ this.timer = globalThis.setTimeout(() => {
4048
+ this.clear();
4049
+ }, FLASH_DURATION);
4050
+ }
4051
+ /**
4052
+ * 清除闪烁节点
4053
+ */
4054
+ clear() {
4055
+ if (this.timer) {
4056
+ globalThis.clearTimeout(this.timer);
4057
+ this.timer = void 0;
4058
+ }
4059
+ this.targetShadow.destroyEl();
4060
+ }
4061
+ /**
4062
+ * 销毁实例
4063
+ */
4064
+ destroy() {
4065
+ this.clear();
4066
+ this.targetShadow.destroy();
4067
+ this.styleEl?.remove();
4068
+ this.styleEl = void 0;
4069
+ }
4070
+ /**
4071
+ * 注入闪烁动画样式(仅注入一次)
4072
+ */
4073
+ injectStyle() {
4074
+ if (this.styleEl) return;
4075
+ this.styleEl = (0, _tmagic_core.injectStyle)((0, _tmagic_core.getDocument)(), `
4076
+ @keyframes ${FLASH_ANIMATION_NAME} {
4077
+ 0% {
4078
+ opacity: 0;
4079
+ background-color: rgba(146, 84, 222, 0);
4080
+ }
4081
+ 20% {
4082
+ opacity: 1;
4083
+ background-color: rgba(146, 84, 222, 0.7);
4084
+ }
4085
+ 45% {
4086
+ opacity: 0.6;
4087
+ background-color: rgba(146, 84, 222, 0.4);
4088
+ }
4089
+ 70% {
4090
+ opacity: 1;
4091
+ background-color: rgba(146, 84, 222, 0.7);
4092
+ }
4093
+ 100% {
4094
+ opacity: 0;
4095
+ background-color: rgba(146, 84, 222, 0);
4096
+ }
4097
+ }
4098
+ .${FLASH_TIP_CLASS_NAME} {
4099
+ border: 2px solid #9254de;
4100
+ border-radius: 2px;
4101
+ animation: ${FLASH_ANIMATION_NAME} ${FLASH_DURATION}ms cubic-bezier(0.4, 0, 0.2, 1) both;
4102
+ }
4103
+ `);
4104
+ }
4105
+ };
4106
+ //#endregion
3996
4107
  //#region packages/stage/src/Rule.ts
3997
4108
  var guidesClass = "tmagic-stage-guides";
3998
4109
  var Rule = class extends events.default {
@@ -4586,13 +4697,17 @@
4586
4697
  renderer = null;
4587
4698
  mask = null;
4588
4699
  actionManager = null;
4700
+ flashHighlight = null;
4589
4701
  pageResizeObserver = null;
4590
4702
  autoScrollIntoView;
4591
4703
  customizedRender;
4704
+ /** 非点击画布选中组件时,是否对选中区域做高亮闪烁提示,默认开启 */
4705
+ disabledFlashTip;
4592
4706
  constructor(config) {
4593
4707
  super();
4594
4708
  this.autoScrollIntoView = config.autoScrollIntoView;
4595
4709
  this.customizedRender = config.render;
4710
+ this.disabledFlashTip = config.disabledFlashTip ?? false;
4596
4711
  this.renderer = new StageRender({
4597
4712
  runtimeUrl: config.runtimeUrl,
4598
4713
  zoom: config.zoom,
@@ -4607,6 +4722,10 @@
4607
4722
  disabledRule: config.disabledRule
4608
4723
  });
4609
4724
  this.actionManager = new ActionManager(this.getActionManagerConfig(config));
4725
+ this.flashHighlight = new StageFlashHighlight({
4726
+ container: this.mask.content,
4727
+ updateDragEl: config.updateDragEl
4728
+ });
4610
4729
  this.initRenderEvent();
4611
4730
  this.initActionEvent();
4612
4731
  this.initMaskEvent();
@@ -4615,7 +4734,7 @@
4615
4734
  * 单选选中元素
4616
4735
  * @param id 选中的id
4617
4736
  */
4618
- async select(id, event) {
4737
+ async select(id, event, options = {}) {
4619
4738
  if (!this.renderer) return;
4620
4739
  let el = this.renderer.getTargetElement(id) || null;
4621
4740
  if (!el) el = await new Promise((resolve) => {
@@ -4646,6 +4765,8 @@
4646
4765
  if (el) this.mask?.setLayout(el);
4647
4766
  this.actionManager?.select(el, event);
4648
4767
  if (el && (this.autoScrollIntoView || el.dataset.autoScrollIntoView)) this.mask?.observerIntersection(el);
4768
+ const isPage = el === this.mask?.page || el?.className.includes("magic-ui-page");
4769
+ if (el && !event && options.flash !== false && !this.disabledFlashTip && !isPage) this.flashHighlight?.flash(el);
4649
4770
  }
4650
4771
  /**
4651
4772
  * 多选选中多个元素
@@ -4771,16 +4892,18 @@
4771
4892
  * 销毁实例
4772
4893
  */
4773
4894
  destroy() {
4774
- const { mask, renderer, actionManager, pageResizeObserver } = this;
4895
+ const { mask, renderer, actionManager, flashHighlight, pageResizeObserver } = this;
4775
4896
  renderer?.destroy();
4776
4897
  mask?.destroy();
4777
4898
  actionManager?.destroy();
4899
+ flashHighlight?.destroy();
4778
4900
  pageResizeObserver?.disconnect();
4779
4901
  this.removeAllListeners();
4780
4902
  this.container = void 0;
4781
4903
  this.renderer = null;
4782
4904
  this.mask = null;
4783
4905
  this.actionManager = null;
4906
+ this.flashHighlight = null;
4784
4907
  this.pageResizeObserver = null;
4785
4908
  }
4786
4909
  on(eventName, listener) {
@@ -4925,6 +5048,7 @@
4925
5048
  exports.ContainerHighlightType = ContainerHighlightType;
4926
5049
  exports.DEFAULT_ZOOM = DEFAULT_ZOOM;
4927
5050
  exports.DRAG_EL_ID_PREFIX = DRAG_EL_ID_PREFIX;
5051
+ exports.FLASH_EL_ID_PREFIX = FLASH_EL_ID_PREFIX;
4928
5052
  exports.GHOST_EL_ID_PREFIX = GHOST_EL_ID_PREFIX;
4929
5053
  exports.GuidesType = GuidesType;
4930
5054
  exports.HIGHLIGHT_EL_ID_PREFIX = HIGHLIGHT_EL_ID_PREFIX;