wenay-common 1.0.21 → 1.0.22

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.
Files changed (76) hide show
  1. package/lib/{srcClient/index.js → index.js} +16 -16
  2. package/package.json +5 -1
  3. package/lib/src/Common/BaseTypes.d.ts +0 -38
  4. package/lib/src/Common/BaseTypes.js +0 -3
  5. package/lib/src/Common/BaseTypes.js.map +0 -1
  6. package/lib/src/Common/ByteStream.d.ts +0 -96
  7. package/lib/src/Common/ByteStream.js +0 -427
  8. package/lib/src/Common/ByteStream.js.map +0 -1
  9. package/lib/src/Common/Color.d.ts +0 -26
  10. package/lib/src/Common/Color.js +0 -52
  11. package/lib/src/Common/Color.js.map +0 -1
  12. package/lib/src/Common/Common.d.ts +0 -232
  13. package/lib/src/Common/Common.js +0 -615
  14. package/lib/src/Common/Common.js.map +0 -1
  15. package/lib/src/Common/List.d.ts +0 -64
  16. package/lib/src/Common/List.js +0 -194
  17. package/lib/src/Common/List.js.map +0 -1
  18. package/lib/src/Common/ListNodeAnd.d.ts +0 -46
  19. package/lib/src/Common/ListNodeAnd.js +0 -90
  20. package/lib/src/Common/ListNodeAnd.js.map +0 -1
  21. package/lib/src/Common/Math.d.ts +0 -27
  22. package/lib/src/Common/Math.js +0 -71
  23. package/lib/src/Common/Math.js.map +0 -1
  24. package/lib/src/Common/Time.d.ts +0 -181
  25. package/lib/src/Common/Time.js +0 -356
  26. package/lib/src/Common/Time.js.map +0 -1
  27. package/lib/src/Exchange/Bars.d.ts +0 -182
  28. package/lib/src/Exchange/Bars.js +0 -454
  29. package/lib/src/Exchange/Bars.js.map +0 -1
  30. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.d.ts +0 -28
  31. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js +0 -9
  32. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js.map +0 -1
  33. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.d.ts +0 -600
  34. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js +0 -356
  35. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js.map +0 -1
  36. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.d.ts +0 -4
  37. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js +0 -108
  38. package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js.map +0 -1
  39. package/lib/src/Exchange/ConnectData/Binance/commonOrder.d.ts +0 -1
  40. package/lib/src/Exchange/ConnectData/Binance/commonOrder.js +0 -9
  41. package/lib/src/Exchange/ConnectData/Binance/commonOrder.js.map +0 -1
  42. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.d.ts +0 -22
  43. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js +0 -44
  44. package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js.map +0 -1
  45. package/lib/src/Exchange/ConnectData/Binance/interfaces.d.ts +0 -345
  46. package/lib/src/Exchange/ConnectData/Binance/interfaces.js +0 -3
  47. package/lib/src/Exchange/ConnectData/Binance/interfaces.js.map +0 -1
  48. package/lib/src/Exchange/ConnectData/Binance/order.d.ts +0 -204
  49. package/lib/src/Exchange/ConnectData/Binance/order.js +0 -417
  50. package/lib/src/Exchange/ConnectData/Binance/order.js.map +0 -1
  51. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.d.ts +0 -14
  52. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js +0 -26
  53. package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js.map +0 -1
  54. package/lib/src/Exchange/ConnectData/Binance/use.d.ts +0 -44
  55. package/lib/src/Exchange/ConnectData/Binance/use.js +0 -90
  56. package/lib/src/Exchange/ConnectData/Binance/use.js.map +0 -1
  57. package/lib/src/Exchange/ConnectData/Binance.d.ts +0 -122
  58. package/lib/src/Exchange/ConnectData/Binance.js +0 -514
  59. package/lib/src/Exchange/ConnectData/Binance.js.map +0 -1
  60. package/lib/src/Exchange/IHistoryBase.d.ts +0 -157
  61. package/lib/src/Exchange/IHistoryBase.js +0 -3
  62. package/lib/src/Exchange/IHistoryBase.js.map +0 -1
  63. package/lib/src/Exchange/LoadBase.d.ts +0 -59
  64. package/lib/src/Exchange/LoadBase.js +0 -103
  65. package/lib/src/Exchange/LoadBase.js.map +0 -1
  66. package/lib/src/Exchange/MarketData.d.ts +0 -78
  67. package/lib/src/Exchange/MarketData.js +0 -358
  68. package/lib/src/Exchange/MarketData.js.map +0 -1
  69. package/lib/src/Exchange/mini.d.ts +0 -68
  70. package/lib/src/Exchange/mini.js +0 -3
  71. package/lib/src/Exchange/mini.js.map +0 -1
  72. package/lib/srcClient/index.d.ts +0 -15
  73. package/lib/srcClient/index.js.map +0 -1
  74. package/lib/srcServer/index.d.ts +0 -16
  75. package/lib/srcServer/index.js +0 -40
  76. package/lib/srcServer/index.js.map +0 -1
@@ -1,615 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CCachedValue2 = exports.CCachedValueT = exports.WeakMapExt = exports.MapExt = exports.CObjectID = exports.shallowEqual = exports.deepEqual = exports.copyToClipboard = exports.Mutex = exports.MyTimerInterval = exports.createCancellableTaskWrapper = exports.createCancellableTimer = exports.CancelablePromise = exports.CancelToken = exports.JSON_clone = exports.VirtualItems = exports.ArraySet = exports.ArrayMap = exports.StructSet = exports.StructMap = exports.MyNumMap = exports.MyMap = exports.__MyMap = exports.CreateArrayProxy = exports.ArrayItemHandler = exports.DblToStrAuto = exports.GetDblPrecision = exports.GetDblPrecision2 = exports.MaxCommonDivisorOnArray = exports.MaxCommonDivisor = exports.NormalizeDouble = exports._BSearchNearest = exports.BSearchNearest = exports.BSearchDefault = exports.BSearch = exports.E_MATCH = exports.E_SORTMODE = exports.GetEnumValues = exports.CBase = exports.sleepAsync = exports.readonlyFull = exports.toImmutable = exports.deepCloneObjectMutable = exports.deepCloneObject = exports.deepCloneMutable = exports.deepClone = exports._deepClone = exports.shallowClone = exports.isDate = exports.GetEnumKeys = void 0;
4
- exports.isObjectCastableTo = void 0;
5
- function GetEnumKeys(T) { return Object.keys(T).filter(k => isNaN(k)); }
6
- exports.GetEnumKeys = GetEnumKeys;
7
- function isDate(value) {
8
- return value instanceof Date;
9
- }
10
- exports.isDate = isDate;
11
- {
12
- let aaa;
13
- }
14
- if (0)
15
- Object.prototype.valueOf = function () {
16
- console.error("function 'valueOf' is not defined in object", this.constructor.name, ":", this);
17
- console.trace();
18
- throw ("function 'valueOf' is not defined!!!");
19
- };
20
- function shallowClone(val) {
21
- return Array.isArray(val) ? Object.assign([], { ...val })
22
- : typeof val == "object" && val ? { ...val } : val;
23
- }
24
- exports.shallowClone = shallowClone;
25
- function _deepClone(src, map) {
26
- if (!src || typeof src != "object")
27
- return src;
28
- let newobject = src instanceof Array ? [] : {};
29
- if (src instanceof Set)
30
- newobject = new Set(src.values());
31
- else if (src instanceof Map)
32
- newobject = new Map(src.entries());
33
- else { }
34
- if (src instanceof Date)
35
- newobject = new Date(src);
36
- let first = true;
37
- function getMap() {
38
- map ??= new Map();
39
- if (first) {
40
- map.set(src, newobject);
41
- first = false;
42
- }
43
- return map;
44
- }
45
- function mapGetOrSet(key, valFunc) { let val = map?.get(key); if (!val)
46
- getMap().set(key, val = valFunc()); return val; }
47
- for (let [key, value] of Object.entries(src)) {
48
- newobject[key] =
49
- typeof (value) == "object"
50
- ? mapGetOrSet(value, () => _deepClone(value, map))
51
- : typeof (value) == "function"
52
- ? value.bind(newobject)
53
- : value;
54
- }
55
- return newobject;
56
- }
57
- exports._deepClone = _deepClone;
58
- function deepClone(object) { return _deepClone(object); }
59
- exports.deepClone = deepClone;
60
- function deepCloneMutable(value) { return deepClone(value); }
61
- exports.deepCloneMutable = deepCloneMutable;
62
- function deepCloneObject(object) {
63
- if (object == undefined)
64
- throw "object is undefined!";
65
- return deepClone(object);
66
- }
67
- exports.deepCloneObject = deepCloneObject;
68
- function deepCloneObjectMutable(object) { return deepCloneObject(object); }
69
- exports.deepCloneObjectMutable = deepCloneObjectMutable;
70
- function toImmutable(object) {
71
- return object.Mutable == false ? object
72
- : Object.freeze(Object.assign(deepCloneObject(object), { Mutable: false }));
73
- }
74
- exports.toImmutable = toImmutable;
75
- function readonlyFull(arg) { return arg; }
76
- exports.readonlyFull = readonlyFull;
77
- async function sleepAsync(msec = 0) {
78
- return new Promise((resolve, reject) => { setTimeout(resolve, msec); });
79
- }
80
- exports.sleepAsync = sleepAsync;
81
- class CBase {
82
- }
83
- exports.CBase = CBase;
84
- function GetEnumValues(T) { let arr = []; for (let k of Object.keys(T))
85
- if (isNaN(k))
86
- arr.push(T[k]); return arr; }
87
- exports.GetEnumValues = GetEnumValues;
88
- var E_SORTMODE;
89
- (function (E_SORTMODE) {
90
- E_SORTMODE[E_SORTMODE["DESCEND"] = 0] = "DESCEND";
91
- E_SORTMODE[E_SORTMODE["ASCEND"] = 1] = "ASCEND";
92
- })(E_SORTMODE = exports.E_SORTMODE || (exports.E_SORTMODE = {}));
93
- ;
94
- var E_MATCH;
95
- (function (E_MATCH) {
96
- E_MATCH[E_MATCH["LESS_OR_EQUAL"] = -1] = "LESS_OR_EQUAL";
97
- E_MATCH[E_MATCH["EQUAL"] = 0] = "EQUAL";
98
- E_MATCH[E_MATCH["GREAT_OR_EQUAL"] = 1] = "GREAT_OR_EQUAL";
99
- })(E_MATCH = exports.E_MATCH || (exports.E_MATCH = {}));
100
- function BSearch(array, arg2, arg3, ...args) {
101
- return typeof (arg3) == "function" ? __BSearch(array, arg2, arg3, ...args) :
102
- typeof (arg2) == "function" ? ___BSearch(array, arg2, arg3, ...args) :
103
- BSearchDefault(array, arg2, arg3, ...args);
104
- }
105
- exports.BSearch = BSearch;
106
- function BSearchDefault(array, value, match, mode) {
107
- return __BSearch(array, value, (a, b) => Math.sign(a.valueOf() - b.valueOf()), match, mode);
108
- }
109
- exports.BSearchDefault = BSearchDefault;
110
- function __BSearch(array, value, comparer, matchMode, sortMode) {
111
- return ___BSearch(array, (item) => comparer(item, value), matchMode, sortMode);
112
- }
113
- function ___BSearch(array, compareItemToValue, matchMode, sortMode) {
114
- if (sortMode == undefined)
115
- sortMode = E_SORTMODE.ASCEND;
116
- let k = (sortMode === E_SORTMODE.DESCEND || sortMode == "descend" ? -1 : sortMode === E_SORTMODE.ASCEND || sortMode == "ascend" ? 1 : (() => { throw "wrong sortMode: " + JSON.stringify(sortMode); })());
117
- let match = typeof matchMode != "string" ? matchMode : matchMode == "equal" ? E_MATCH.EQUAL : matchMode == "lessOrEqual" ? E_MATCH.LESS_OR_EQUAL : matchMode == "greatOrEqual" ? E_MATCH.GREAT_OR_EQUAL : (() => { throw ("wrong matchMode!"); })();
118
- let start = 0;
119
- let count = array.length;
120
- let end = start + count - 1;
121
- let left = start;
122
- let right = end;
123
- let i = left;
124
- while (left <= right) {
125
- i = (left + right) >> 1;
126
- let cmp = compareItemToValue(array[i]) * k;
127
- if (cmp > 0) {
128
- right = i - 1;
129
- continue;
130
- }
131
- if (cmp < 0) {
132
- left = i + 1;
133
- continue;
134
- }
135
- return i;
136
- }
137
- if (match == E_MATCH.LESS_OR_EQUAL) {
138
- i = right;
139
- if (i < start)
140
- i = -1;
141
- }
142
- else if (match == E_MATCH.GREAT_OR_EQUAL) {
143
- i = left;
144
- if (i > end)
145
- i = -1;
146
- }
147
- else
148
- i = -1;
149
- return i;
150
- }
151
- BSearch.EQUAL = E_MATCH.EQUAL;
152
- BSearch.LESS_OR_EQUAL = E_MATCH.LESS_OR_EQUAL;
153
- BSearch.GREAT_OR_EQUAL = E_MATCH.GREAT_OR_EQUAL;
154
- function BSearchNearest(array, searchValue, getterOrDelta, maxDeltaOrNull) {
155
- let [getter, maxDelta] = typeof getterOrDelta == "function" ? [getterOrDelta, maxDeltaOrNull] : [(elem) => elem, getterOrDelta];
156
- return _BSearchNearest(array, searchValue, getter, maxDelta);
157
- }
158
- exports.BSearchNearest = BSearchNearest;
159
- function _BSearchNearest(array, searchValue, arrayGetValue, maxDelta) {
160
- if (array.length == 0)
161
- return -1;
162
- let i = BSearch(array, (element) => arrayGetValue(element) - searchValue, "greatOrEqual");
163
- let indexes = [];
164
- if (i == -1)
165
- i = array.length - 1;
166
- else if (i >= 0)
167
- indexes.push(i - 1);
168
- indexes.push(i);
169
- let delta = maxDelta ?? Number.MAX_VALUE;
170
- let index = -1;
171
- for (let i of indexes) {
172
- let d = Math.abs(arrayGetValue(array[i]) - searchValue);
173
- if (d <= delta) {
174
- delta = d;
175
- index = i;
176
- }
177
- }
178
- return index;
179
- }
180
- exports._BSearchNearest = _BSearchNearest;
181
- function NormalizeDouble(value, digits) { let factor = 10 ** digits; return Math.round(value * factor) / factor; }
182
- exports.NormalizeDouble = NormalizeDouble;
183
- function fabs(value) { return Math.abs(value); }
184
- function round(value) { return Math.round(value); }
185
- function __GetMaxCommonDivisor(a, b, digits) {
186
- let precis = 0.1 ** (digits) / 2;
187
- while (true) {
188
- if (b < precis)
189
- return NormalizeDouble(a, digits);
190
- a = fabs(a - round(a / b) * b);
191
- if (a < precis)
192
- return NormalizeDouble(b, digits);
193
- b = fabs(b - round(b / a) * a);
194
- }
195
- }
196
- function __GetMaxCommonDivisorInteger(a, b) {
197
- while (true) {
198
- if (b < 1)
199
- return a;
200
- a = a % b;
201
- if (a < 1)
202
- return b;
203
- b = b % a;
204
- }
205
- }
206
- function MaxCommonDivisor(a, b, digits = 8) {
207
- if (a == undefined || b == undefined) {
208
- console.trace();
209
- throw ("!!! Undefined value in MaxCommonDivisor");
210
- }
211
- a = fabs(a);
212
- b = fabs(b);
213
- if (Number.isInteger(a) && Number.isInteger(b))
214
- if (a > b)
215
- return __GetMaxCommonDivisorInteger(a, b);
216
- else
217
- return __GetMaxCommonDivisorInteger(b, a);
218
- if (a > b)
219
- return __GetMaxCommonDivisor(a, b, digits);
220
- else
221
- return __GetMaxCommonDivisor(b, a, digits);
222
- }
223
- exports.MaxCommonDivisor = MaxCommonDivisor;
224
- function MaxCommonDivisorOnArray(values, precisDigits = 8) {
225
- let divis = 0;
226
- for (let value of values) {
227
- divis = MaxCommonDivisor(value, divis, precisDigits);
228
- }
229
- return divis;
230
- }
231
- exports.MaxCommonDivisorOnArray = MaxCommonDivisorOnArray;
232
- function GetDblPrecision2(value, mindigits, maxdigits) {
233
- maxdigits = Math.min(maxdigits, 16);
234
- let epsilon = Math.pow(0.1, maxdigits + 1);
235
- let d;
236
- for (d = mindigits; d < maxdigits; d++) {
237
- if (fabs(value - NormalizeDouble(value, d)) < epsilon)
238
- break;
239
- }
240
- if (d < 0 || d >= 100)
241
- throw ("wrong digits: value=" + value + " mindigits=" + mindigits + " maxdigits=" + maxdigits);
242
- return d;
243
- }
244
- exports.GetDblPrecision2 = GetDblPrecision2;
245
- ;
246
- function GetDblPrecision(value, maxdigits = 8) { return GetDblPrecision2(value, 0, maxdigits); }
247
- exports.GetDblPrecision = GetDblPrecision;
248
- function DblToStrAuto2(value, minprecis, maxprecis) { return value?.toFixed(GetDblPrecision2(value, minprecis, maxprecis)); }
249
- function DblToStrAuto(value, maxprecis = 8) {
250
- let digits = maxprecis;
251
- if (digits < 0)
252
- if (value != 0)
253
- maxprecis = Math.trunc(Math.max(0, -digits - Math.log10(fabs(value))));
254
- else
255
- maxprecis = 0;
256
- return DblToStrAuto2(value, 0, maxprecis);
257
- }
258
- exports.DblToStrAuto = DblToStrAuto;
259
- function ArrayItemHandler(getter, setter) {
260
- return {
261
- get: function (target, prop) {
262
- if (prop in target) {
263
- return target[prop];
264
- }
265
- let num = typeof prop == "number" ? prop : typeof (prop) == "string" ? Number.parseInt(prop) : undefined;
266
- if (num != undefined && !isNaN(num))
267
- return getter(target, prop);
268
- return target[prop];
269
- },
270
- set: !setter ? undefined :
271
- function (target, prop, value, receiver) {
272
- if (prop in target) {
273
- target[prop] = value;
274
- return true;
275
- }
276
- let num = typeof (prop) == "number" ? prop : typeof (prop) == "string" ? Number.parseInt(prop) : undefined;
277
- if (num != undefined && !isNaN(num)) {
278
- setter(target, prop, value);
279
- return true;
280
- }
281
- target[prop] = value;
282
- return true;
283
- }
284
- };
285
- }
286
- exports.ArrayItemHandler = ArrayItemHandler;
287
- function CreateArrayProxy(target, getterOrArray, setter) {
288
- if (typeof getterOrArray == "object")
289
- return CreateArrayProxy(target, (i) => getterOrArray[i], (i, val) => getterOrArray[i] = val);
290
- return new Proxy(target, ArrayItemHandler((target, i) => getterOrArray(i), setter ? (target, i, value) => setter(i, value) : undefined));
291
- }
292
- exports.CreateArrayProxy = CreateArrayProxy;
293
- class __MyMap {
294
- map = {};
295
- keys;
296
- values;
297
- createArrays() {
298
- let thisKeys = this.keys = [];
299
- let thisValues = this.values = [];
300
- for (let key of Object.keys(this.map))
301
- if (!isNaN(Number(key))) {
302
- let pair = this.map[key];
303
- thisKeys.push(pair.key);
304
- thisValues.push(pair.value);
305
- }
306
- }
307
- OnModify(key) { }
308
- Set(key, value) { this.map[key.valueOf()] = { key, value }; this.keys = null; this.OnModify(key); }
309
- Get(key) { let pair = this.map[key.valueOf()]; return pair ? pair.value : undefined; }
310
- Contains(key) { return this.map[key.valueOf()] != undefined; }
311
- TryAdd(key, value) { if (!this.Contains(key))
312
- return false; this.Set(key, value); return true; }
313
- Add(key, value) { if (!this.TryAdd(key, value))
314
- throw `Key ${key} is already exists for ${typeof value}`; }
315
- Remove(key) { delete (this.map[key.valueOf()]); this.keys = null; this.OnModify(key); }
316
- Count() { return this.sortedKeys.length; }
317
- get sortedKeys() { if (!this.keys)
318
- this.createArrays(); return this.keys; }
319
- get Values() { if (!this.keys)
320
- this.createArrays(); return this.values; }
321
- }
322
- exports.__MyMap = __MyMap;
323
- class MyMap extends __MyMap {
324
- Clone() { let newobj = new MyMap(); newobj.map = { ...this.map }; newobj.keys = this.keys; newobj.values = this.values; return newobj; }
325
- }
326
- exports.MyMap = MyMap;
327
- class MyNumMap extends __MyMap {
328
- constructor() {
329
- super();
330
- return CreateArrayProxy(this, (i) => this.Get(i), (key, value) => this.Set(key, value ?? (() => { throw "undefined value"; })()));
331
- }
332
- Clone() { let newobj = new MyNumMap(); newobj.map = { ...this.map }; newobj.keys = this.keys; newobj.values = this.values; return newobj; }
333
- }
334
- exports.MyNumMap = MyNumMap;
335
- class StructMap {
336
- _data = {};
337
- _keys = [];
338
- _values = [];
339
- [Symbol.iterator]() { return this.entries(); }
340
- set(key, value) {
341
- let items = key instanceof Array ? key : Object.values(key);
342
- if (!items?.length)
343
- throw "passed empty object as key";
344
- let obj = this._data;
345
- for (let i = 0; i < items.length - 1; i++) {
346
- let item = items[i];
347
- obj = (obj[item] ??= {});
348
- }
349
- obj[items[items.length - 1]] = value;
350
- this._keys.push(key instanceof Array ? [...key] : { ...key });
351
- this._values.push(value);
352
- }
353
- get(key) {
354
- let items = key instanceof Array ? key : Object.values(key);
355
- if (items.length == 0)
356
- return undefined;
357
- let obj = this._data;
358
- for (let item of items) {
359
- obj = obj[item];
360
- if (!obj)
361
- return undefined;
362
- }
363
- return obj;
364
- }
365
- has(key) { return this.get(key) != null; }
366
- keys() { return this._keys; }
367
- values() { return this._values; }
368
- *entries() { for (let [i, key] of this._keys.entries())
369
- yield [key, this._values[i]]; }
370
- }
371
- exports.StructMap = StructMap;
372
- class StructSet {
373
- data = new StructMap();
374
- [Symbol.iterator]() { return this.keys(); }
375
- add(key) { return this.data.set(key, null); }
376
- has(key) { return this.data.has(key); }
377
- keys() { return this.data.keys(); }
378
- values() { return this.data.keys(); }
379
- }
380
- exports.StructSet = StructSet;
381
- class ArrayMap extends StructMap {
382
- }
383
- exports.ArrayMap = ArrayMap;
384
- class ArraySet extends StructSet {
385
- }
386
- exports.ArraySet = ArraySet;
387
- class VirtualItems {
388
- getLength;
389
- getValue;
390
- get length() { return this.getLength(); }
391
- *[Symbol.iterator]() { let len = this.length; for (let i = 0; i < len; i++)
392
- yield this.getValue(i); }
393
- constructor(itemGetter, lengthGetter) {
394
- this.getLength = lengthGetter;
395
- this.getValue = itemGetter;
396
- return CreateArrayProxy(this, this.getValue);
397
- }
398
- }
399
- exports.VirtualItems = VirtualItems;
400
- let sss;
401
- function JSON_clone(obj) {
402
- return JSON.parse(JSON.stringify(obj));
403
- }
404
- exports.JSON_clone = JSON_clone;
405
- class CancelToken {
406
- _cancel = false;
407
- isCancelled() { return this._cancel; }
408
- cancel() { this._cancel = true; }
409
- }
410
- exports.CancelToken = CancelToken;
411
- class CancelablePromise extends Promise {
412
- static _rejectTmp;
413
- _reject;
414
- _onCancel;
415
- constructor(executor, onCancel) {
416
- super((resolve, reject) => { CancelablePromise._rejectTmp = reject; executor(resolve, reject); });
417
- this._reject = CancelablePromise._rejectTmp;
418
- this._onCancel = onCancel;
419
- }
420
- cancel(msg) { if (this._onCancel)
421
- this._onCancel(); return this._reject(msg); }
422
- static resolve(value) { return new CancelablePromise((resolve, reject) => Promise.resolve(value).then(resolve, reject)); }
423
- }
424
- exports.CancelablePromise = CancelablePromise;
425
- function createCancellableTimer(interval_ms, onTimer, onStop) {
426
- let timer;
427
- function stop() { clearInterval(timer); onStop?.(); }
428
- let executor = (resolve, reject) => {
429
- timer = setInterval(() => { if (onTimer() == false) {
430
- stop();
431
- reject("Stopped");
432
- } }, interval_ms);
433
- };
434
- return new CancelablePromise(executor, () => stop());
435
- }
436
- exports.createCancellableTimer = createCancellableTimer;
437
- async function createCancellableTaskWrapper(task, isStopped, interval_ms = 50) {
438
- let stopCheckingTask = createCancellableTimer(interval_ms, () => !isStopped?.());
439
- try {
440
- return await Promise.race([task, stopCheckingTask]);
441
- }
442
- catch (e) {
443
- if (isStopped?.())
444
- return "stopped";
445
- throw e;
446
- }
447
- finally {
448
- stopCheckingTask.cancel();
449
- }
450
- }
451
- exports.createCancellableTaskWrapper = createCancellableTaskWrapper;
452
- class MyTimerInterval {
453
- _timer;
454
- _onstop;
455
- constructor(period_ms, onTimer, onStop) { this._timer = setInterval(onTimer, period_ms); this._onstop = onStop; }
456
- stop() { clearInterval(this._timer); if (this._onstop)
457
- this._onstop(); }
458
- }
459
- exports.MyTimerInterval = MyTimerInterval;
460
- class Mutex {
461
- mutex = Promise.resolve();
462
- lock() {
463
- let begin = unlock => { };
464
- this.mutex = this.mutex.then(() => {
465
- return new Promise(begin);
466
- });
467
- return new Promise(res => {
468
- begin = res;
469
- });
470
- }
471
- async dispatch(fn) {
472
- const unlock = await this.lock();
473
- try {
474
- return await fn();
475
- }
476
- finally {
477
- unlock();
478
- }
479
- }
480
- static createLock() { return (new Mutex).lock(); }
481
- }
482
- exports.Mutex = Mutex;
483
- async function copyToClipboard(textToCopy) {
484
- const moduleName = 'child_process';
485
- if (typeof window != "object")
486
- return (await Promise.resolve(`${moduleName}`).then(s => require(s))).spawn('clip').stdin.end(textToCopy);
487
- if (navigator.clipboard && window.isSecureContext) {
488
- return navigator.clipboard.writeText(textToCopy);
489
- }
490
- else {
491
- let textArea = document.createElement("textarea");
492
- textArea.value = textToCopy;
493
- textArea.style.position = "fixed";
494
- textArea.style.left = "-999999px";
495
- textArea.style.top = "-999999px";
496
- document.body.appendChild(textArea);
497
- textArea.focus();
498
- textArea.select();
499
- return new Promise((res, rej) => {
500
- document.execCommand('copy') ? res() : rej();
501
- textArea.remove();
502
- });
503
- }
504
- }
505
- exports.copyToClipboard = copyToClipboard;
506
- function deepEqual(object1, object2) {
507
- if (object1 == object2)
508
- return true;
509
- const keys1 = Object.keys(object1);
510
- const keys2 = Object.keys(object2);
511
- if (keys1.length != keys2.length) {
512
- return false;
513
- }
514
- for (const key of keys1) {
515
- const val1 = object1[key];
516
- const val2 = object2[key];
517
- if (val1 === val2)
518
- continue;
519
- const areObjects = typeof (val1) == "object" && typeof (val2) == "object" && val1 != null && val2 != null;
520
- if (!areObjects || !deepEqual(val1, val2))
521
- return false;
522
- }
523
- return true;
524
- }
525
- exports.deepEqual = deepEqual;
526
- function shallowEqual(object1, object2) {
527
- if (!object1 || !object2)
528
- return object1 == object2;
529
- const keys1 = Object.keys(object1);
530
- const keys2 = Object.keys(object2);
531
- if (keys1.length != keys2.length) {
532
- return false;
533
- }
534
- for (const key of keys1) {
535
- const val1 = object1[key];
536
- const val2 = object2[key];
537
- if (val1 !== val2)
538
- return false;
539
- }
540
- return true;
541
- }
542
- exports.shallowEqual = shallowEqual;
543
- class CObjectID {
544
- static #id = 1;
545
- value = CObjectID.#id++;
546
- #object;
547
- #owner;
548
- [Symbol.species] = this;
549
- toString = () => { return this.value + ""; };
550
- constructor(object, owner) { this.#object = object; this.#owner = owner; }
551
- static getInfo(id) {
552
- let obj = id;
553
- return { object: obj.#object, owner: obj.#owner };
554
- }
555
- static getObjectByOwner(id, owner) { let data = CObjectID.getInfo(id); return data.owner == owner ? data.object : undefined; }
556
- }
557
- exports.CObjectID = CObjectID;
558
- const stringifyDefault = JSON.stringify;
559
- JSON.stringify = (value, replacer, space) => stringifyDefault(value, (key, val) => val instanceof CObjectID ? val.value + "" : typeof replacer == "function" ? replacer(key, val) : val, space);
560
- class MapExt extends Map {
561
- immutArray;
562
- set(key, value) { this.immutArray = undefined; return super.set(key, value); }
563
- delete(key) { this.immutArray = undefined; return super.delete(key); }
564
- valuesArrayImmutable() { return this.immutArray ??= [...this.values()]; }
565
- getOrSetFunc(key, val) {
566
- let v = this.get(key);
567
- if (v === undefined && !this.has(key))
568
- this.set(key, v = val());
569
- return v;
570
- }
571
- getOrSet(key, val) { return this.getOrSetFunc(key, () => val); }
572
- }
573
- exports.MapExt = MapExt;
574
- class WeakMapExt extends WeakMap {
575
- getOrSetFunc(key, val) {
576
- let v = this.get(key);
577
- if (v === undefined && !this.has(key))
578
- this.set(key, v = val());
579
- return v;
580
- }
581
- getOrSet(key, val) { return this.getOrSetFunc(key, () => val); }
582
- }
583
- exports.WeakMapExt = WeakMapExt;
584
- class CCachedValueT {
585
- key;
586
- val;
587
- size;
588
- constructor(size) { this.size = size; }
589
- getOrSet(key, valFunc) {
590
- if (!this.key) {
591
- this.key = [...key];
592
- return this.val = valFunc();
593
- }
594
- for (let i = 0; i < this.size; i++)
595
- if (key[i] != this.key[i]) {
596
- this.key = [...key];
597
- return this.val = valFunc();
598
- }
599
- return this.val;
600
- }
601
- }
602
- exports.CCachedValueT = CCachedValueT;
603
- class CCachedValue2 extends CCachedValueT {
604
- constructor() { super(2); }
605
- }
606
- exports.CCachedValue2 = CCachedValue2;
607
- function isObjectCastableTo(object, members) {
608
- let keys = Object.keys(object);
609
- for (let m of members)
610
- if (!keys.includes(m))
611
- return false;
612
- return true;
613
- }
614
- exports.isObjectCastableTo = isObjectCastableTo;
615
- //# sourceMappingURL=Common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Common/Common.ts"],"names":[],"mappings":";;;;AA+BA,SAAgB,WAAW,CAAiC,CAAK,IAAkC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAAxJ,kCAAwJ;AAaxJ,SAAgB,MAAM,CAAK,KAAkC;IAGzD,OAAO,KAAK,YAAY,IAAI,CAAC;AACjC,CAAC;AAJD,wBAIC;AAED;IACI,IAAI,GAAa,CAAC;CAUrB;AAID,IAAI,CAAC;IACL,MAAM,CAAC,SAAS,CAAC,OAAO,GAAE;QAEzB,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAC,GAAG,EAAC,IAAI,CAAC,CAAC;QAC5F,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAK,CAAC,sCAAsC,CAAC,CAAC;IAC/C,CAAC,CAAA;AAiBD,SAAgB,YAAY,CAAI,GAAM;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAC,GAAG,GAAG,EAAC,CAAC;QACvD,CAAC,CAAC,OAAO,GAAG,IAAE,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAC,GAAG,GAAG,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AAHD,oCAGC;AAID,SAAgB,UAAU,CAAI,GAAM,EAAE,GAAwB;IAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,IAAE,QAAQ;QAAE,OAAO,GAAG,CAAC;IAE7C,IAAI,SAAS,GAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAG,CAAA;IACxE,IAAI,GAAG,YAAY,GAAG;QAAE,SAAS,GAAE,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACzD,IAAI,GAAG,YAAY,GAAG;QAAE,SAAS,GAAE,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAAM,GAAG;IACnE,IAAI,GAAG,YAAY,IAAI;QAAE,SAAS,GAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAC,IAAI,CAAC;IACf,SAAS,MAAM;QACX,GAAG,KAAG,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,GAAwB,EAAE,SAAS,CAAC,CAAC;YAAE,KAAK,GAAC,KAAK,CAAC;SAAE;QAC1E,OAAO,GAAG,CAAC;IACf,CAAC;IACD,SAAS,WAAW,CAAC,GAAW,EAAE,OAAmB,IAAI,IAAI,GAAG,GAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,GAAG;QAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAC,OAAO,EAAE,CAAC,CAAC,CAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IAC/I,KAAI,IAAI,CAAC,GAAG,EAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC3C,SAAS,CAAC,GAAG,CAAC;YACb,OAAM,CAAC,KAAK,CAAC,IAAE,QAAQ;gBACtB,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,GAAE,EAAE,CAAA,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC,OAAM,CAAC,KAAK,CAAC,IAAE,UAAU;oBAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvB,CAAC,CAAC,KAAK,CAAC;KACX;IACD,OAAO,SAA0C,CAAC;AACnD,CAAC;AAvBD,gCAuBC;AAED,SAAgB,SAAS,CAAI,MAAS,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAAtE,8BAAsE;AAEtE,SAAgB,gBAAgB,CAAI,KAAQ,IAAI,OAAO,SAAS,CAAC,KAAK,CAAmB,CAAC,CAAC,CAAC;AAA5F,4CAA4F;AAW5F,SAAgB,eAAe,CAAmB,MAAS;IAC1D,IAAI,MAAM,IAAE,SAAS;QAAE,MAAM,sBAAsB,CAAC;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAHD,0CAGC;AAED,SAAgB,sBAAsB,CAAmB,MAAS,IAAI,OAAO,eAAe,CAAC,MAAM,CAAmB,CAAA,CAAC,CAAC;AAAxH,wDAAwH;AAGxH,SAAgB,WAAW,CAAmB,MAAS;IACtD,OAAQ,MAAyB,CAAC,OAAO,IAAE,KAAK,CAAC,CAAC,CAAC,MAAsB;QACxE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAiB,CAAC;AAC5F,CAAC;AAHD,kCAGC;AAGD,SAAgB,YAAY,CAAI,GAAM,IAAI,OAAO,GAAsB,CAAC,CAAC,CAAC;AAA1E,oCAA0E;AAInE,KAAK,UAAU,UAAU,CAAC,OAAa,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAFD,gCAEC;AAGD,MAAa,KAAK;CAAmC;AAArD,sBAAqD;AASrD,SAAgB,aAAa,CAAC,CAAqB,IAAqB,IAAI,GAAG,GAAU,EAAE,CAAC,CAAE,KAAI,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAAE,IAAI,KAAK,CAAC,CAAQ,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AAA9K,sCAA8K;AAgB9K,IAAY,UAA6B;AAAzC,WAAY,UAAU;IAAG,iDAAO,CAAA;IAAE,+CAAM,CAAA;AAAA,CAAC,EAA7B,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAAmB;AAAA,CAAC;AAE1C,IAAY,OAAmD;AAA/D,WAAY,OAAO;IAAG,wDAAgB,CAAA;IAAE,uCAAK,CAAA;IAAE,yDAAc,CAAA;AAAC,CAAC,EAAnD,OAAO,GAAP,eAAO,KAAP,eAAO,QAA4C;AAoB/D,SAAgB,OAAO,CAAI,KAAmB,EAAG,IAAS,EAAG,IAAU,EAAE,GAAG,IAAU;IACrF,OAAO,OAAM,CAAC,IAAI,CAAC,IAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACxE,OAAM,CAAC,IAAI,CAAC,IAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACnE,cAAc,CAAC,KAAc,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACtD,CAAC;AAJD,0BAIC;AAOD,SAAgB,cAAc,CAAgC,KAAmB,EAAG,KAAQ,EAAG,KAAuB,EAAG,IAAe;IAEvI,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAG,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3F,CAAC;AAHD,wCAGC;AAID,SAAS,SAAS,CAAO,KAAmB,EAAG,KAAS,EAAG,QAA8B,EAAG,SAA2B,EAAG,QAAmB;IAE5I,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAC,EAAE,CAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAID,SAAS,UAAU,CAAI,KAAmB,EAAG,kBAAqC,EAAG,SAA2B,EAAG,QAAmB;IAErI,IAAI,QAAQ,IAAE,SAAS;QAAE,QAAQ,GAAE,UAAU,CAAC,MAAM,CAAC;IACrD,IAAI,CAAC,GAAE,CAAC,QAAQ,KAAG,UAAU,CAAC,OAAO,IAAI,QAAQ,IAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAG,UAAU,CAAC,MAAM,IAAI,QAAQ,IAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,GAAC,MAAM,kBAAkB,GAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1L,IAAI,KAAK,GAAE,OAAO,SAAS,IAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAE,EAAE,GAAC,MAAK,CAAC,kBAAkB,CAAC,CAAA,CAAA,CAAC,CAAC,EAAE,CAAC;IACtO,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAE,KAAK,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,GAAE,KAAK,GAAC,KAAK,GAAC,CAAC,CAAC;IACvB,IAAI,IAAI,GAAE,KAAK,CAAC;IAChB,IAAI,KAAK,GAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAE,IAAI,CAAC;IACZ,OAAO,IAAI,IAAE,KAAK,EAClB;QACC,CAAC,GAAE,CAAC,IAAI,GAAG,KAAK,CAAC,IAAE,CAAC,CAAC;QACrB,IAAI,GAAG,GAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAC,CAAC,EAAE;YAAE,KAAK,GAAC,CAAC,GAAC,CAAC,CAAC;YAAE,SAAS;SAAE;QACpC,IAAI,GAAG,GAAC,CAAC,EAAE;YAAE,IAAI,GAAC,CAAC,GAAC,CAAC,CAAC;YAAE,SAAS;SAAE;QACnC,OAAO,CAAC,CAAC;KACT;IAED,IAAI,KAAK,IAAE,OAAO,CAAC,aAAa,EAAG;QAAE,CAAC,GAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAC,KAAK;YAAE,CAAC,GAAC,CAAC,CAAC,CAAC;KAAE;SAC9D,IAAI,KAAK,IAAE,OAAO,CAAC,cAAc,EAAE;QAAE,CAAC,GAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAC,GAAG;YAAE,CAAC,GAAC,CAAC,CAAC,CAAC;KAAE;;QAChE,CAAC,GAAC,CAAC,CAAC,CAAC;IACV,OAAO,CAAC,CAAC;AACV,CAAC;AAGD,OAAO,CAAC,KAAK,GAAE,OAAO,CAAC,KAAK,CAAC;AAC7B,OAAO,CAAC,aAAa,GAAE,OAAO,CAAC,aAAa,CAAC;AAC7C,OAAO,CAAC,cAAc,GAAE,OAAO,CAAC,cAAc,CAAC;AAQ/C,SAAgB,cAAc,CAAI,KAAmB,EAAE,WAAmB,EAAE,aAA8C,EAAE,cAAuB;IAC/I,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,aAAa,IAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAS,EAAC,EAAE,CAAA,IAAc,EAAE,aAAa,CAAC,CAAC;IAC1I,OAAO,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC;AAHD,wCAGC;AAGD,SAAgB,eAAe,CAAI,KAAmB,EAAE,WAAmB,EAAE,aAAmC,EAAE,QAAiB;IAC/H,IAAI,KAAK,CAAC,MAAM,IAAE,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,WAAW,EAAE,cAAc,CAAC,CAAC;IACzF,IAAI,OAAO,GAAc,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAE,CAAC,CAAC;QAAE,CAAC,GAAE,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC;SAEzB,IAAI,CAAC,IAAE,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,KAAK,GAAE,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC;IACxC,IAAI,KAAK,GAAE,CAAC,CAAC,CAAC;IACd,KAAI,IAAI,CAAC,IAAI,OAAO,EAAE;QAClB,IAAI,CAAC,GAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,KAAK,EAAE;YAAE,KAAK,GAAE,CAAC,CAAC;YAAE,KAAK,GAAC,CAAC,CAAC;SAAE;KAC1C;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAfD,0CAeC;AAMD,SAAgB,eAAe,CAAC,KAAa,EAAE,MAAc,IAAI,IAAI,MAAM,GAAE,EAAE,IAAE,MAAM,CAAC,CAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAC,MAAM,CAAC,CAAC,CAAC;AAArI,0CAAqI;AAErI,SAAS,IAAI,CAAC,KAAc,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzD,SAAS,KAAK,CAAC,KAAc,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAG5D,SAAS,qBAAqB,CAAC,CAAS,EAAG,CAAS,EAAG,MAAc;IAEpE,IAAI,MAAM,GAAE,GAAG,IAAE,CAAC,MAAM,CAAC,GAAC,CAAC,CAAC;IAC5B,OAAM,IAAI,EAAE;QACX,IAAI,CAAC,GAAG,MAAM;YAAE,OAAO,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,GAAE,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,MAAM;YAAE,OAAO,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,GAAE,IAAI,CAAC,CAAC,GAAC,KAAK,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;KACxB;AACF,CAAC;AAGD,SAAS,4BAA4B,CAAC,CAAS,EAAE,CAAS;IAEzD,OAAM,IAAI,EAAE;QAAE,IAAI,CAAC,GAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAAE,CAAC,GAAE,CAAC,GAAC,CAAC,CAAC;QAAE,IAAI,CAAC,GAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAAE,CAAC,GAAE,CAAC,GAAC,CAAC,CAAC;KAAE;AACzE,CAAC;AAID,SAAgB,gBAAgB,CAAC,CAAS,EAAG,CAAS,EAAG,SAAe,CAAC;IAExE,IAAI,CAAC,IAAE,SAAS,IAAI,CAAC,IAAE,SAAS,EAAE;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,MAAK,CAAC,yCAAyC,CAAC,CAAC;KAAE;IACxG,CAAC,GAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAE,CAAC,GAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAC,CAAC;YAAE,OAAO,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC1C,OAAO,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC,GAAC,CAAC;QAAE,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;;QAC3C,OAAO,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAVD,4CAUC;AAOD,SAAgB,uBAAuB,CAAC,MAAyB,EAAG,eAAuB,CAAC;IAE3F,IAAI,KAAK,GAAC,CAAC,CAAC;IACZ,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACzB,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;KACrD;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAPD,0DAOC;AASD,SAAgB,gBAAgB,CAAC,KAAa,EAAE,SAAiB,EAAE,SAAiB;IAEnF,SAAS,GAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,OAAO,GAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAC,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,CAAC;IACN,KAAK,CAAC,GAAC,SAAS,EAAE,CAAC,GAAC,SAAS,EAAE,CAAC,EAAE,EAAE;QAEnC,IAAI,IAAI,CAAC,KAAK,GAAC,eAAe,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,GAAG,OAAO;YAAE,MAAM;KAC1D;IAED,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,IAAE,GAAG;QAAE,MAAK,CAAC,uBAAuB,GAAC,KAAK,GAAC,cAAc,GAAC,SAAS,GAAC,cAAc,GAAC,SAAS,CAAC,CAAC;IAC1G,OAAO,CAAC,CAAC;AACV,CAAC;AAbD,4CAaC;AAAA,CAAC;AAOF,SAAgB,eAAe,CAAC,KAAa,EAAE,YAAmB,CAAC,IAAI,OAAO,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAAtH,0CAAsH;AAStH,SAAS,aAAa,CAAC,KAAa,EAAG,SAAiB,EAAG,SAAiB,IAAK,OAAO,KAAK,EAAE,OAAO,CAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAE,CAAC,CAAC,CAAC;AAM1J,SAAgB,YAAY,CAAC,KAAa,EAAE,YAAkB,CAAC;IAC9D,IAAI,MAAM,GAAE,SAAS,CAAC;IACtB,IAAI,MAAM,GAAC,CAAC;QAAE,IAAI,KAAK,IAAE,CAAC;YAAE,SAAS,GAAE,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;;YAAM,SAAS,GAAC,CAAC,CAAC;IACpH,OAAO,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAJD,oCAIC;AAID,SAAgB,gBAAgB,CAAgC,MAA2C,EAAG,MAAyD;IAEtK,OAAO;QACN,GAAG,EAAE,UAAU,MAAS,EAAE,IAAU;YAEnC,IAAI,IAAI,IAAI,MAAM,EAAE;gBACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACpB;YAGD,IAAI,GAAG,GAAE,OAAO,IAAI,IAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,IAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnG,IAAI,GAAG,IAAE,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAG/D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzB,UAAU,MAAS,EAAE,IAAS,EAAE,KAAa,EAAE,QAAa;gBAE3D,IAAI,IAAI,IAAI,MAAM,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,GAAE,KAAK,CAAC;oBACpB,OAAO,IAAI,CAAC;iBACZ;gBACD,IAAI,GAAG,GAAE,OAAM,CAAC,IAAI,CAAC,IAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,IAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAGpG,IAAI,GAAG,IAAE,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAAC,OAAO,IAAI,CAAC;iBAAE;gBAKhF,MAAM,CAAC,IAAI,CAAC,GAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,CAAC;KACF,CAAC;AACH,CAAC;AAlCD,4CAkCC;AAaD,SAAgB,gBAAgB,CAC5B,MAAS,EACT,aAA6C,EAC7C,MAA8C;IAE9C,IAAI,OAAO,aAAa,IAAE,QAAQ;QAAE,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAC,EAAE,CAAA,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC;IAC5H,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,EAAE,CAAA,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAC,EAAE,CAAA,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACzI,CAAC;AAPD,4CAOC;AAYD,MAAa,OAAO;IAET,GAAG,GAAwC,EAAE,CAAA;IAE7C,IAAI,CAAsB;IAC1B,MAAM,CAAsB;IAE5B,YAAY;QACrB,IAAI,QAAQ,GAAQ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,UAAU,GAAQ,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACvC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAQ;YAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5B;IACH,CAAC;IACS,QAAQ,CAAC,GAAM,IAAI,CAAC;IACvB,GAAG,CAAC,GAAM,EAAE,KAAQ,IAAW,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAE,IAAI,CAAC,IAAI,GAAE,IAAI,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChH,GAAG,CAAC,GAAM,IAAqB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3G,QAAQ,CAAC,GAAM,IAAc,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAE,SAAS,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,GAAM,EAAE,KAAQ,IAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IAClH,GAAG,CAAC,GAAM,EAAE,KAAQ,IAAW,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAC,KAAK,CAAC;QAAE,MAAM,OAAO,GAAG,0BAA0B,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACxH,MAAM,CAAC,GAAM,IAAK,OAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,GAAE,IAAI,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,KAAK,KAAQ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,UAAU,KAAoB,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAE,OAAO,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC;IAE5F,IAAI,MAAM,KAAoB,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAE,OAAO,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC;CAC1F;AA5BD,0BA4BC;AAGD,MAAa,KAAyC,SAAQ,OAAa;IAI1E,KAAK,KAAK,IAAI,MAAM,GAAE,IAAI,KAAK,EAAO,CAAC,CAAE,MAAM,CAAC,GAAG,GAAE,EAAC,GAAG,IAAI,CAAC,GAAG,EAAC,CAAC,CAAE,MAAM,CAAC,IAAI,GAAE,IAAI,CAAC,IAAI,CAAC,CAAE,MAAM,CAAC,MAAM,GAAE,IAAI,CAAC,MAAM,CAAC,CAAE,OAAO,MAAM,CAAC,CAAC,CAAC;CAC3I;AALD,sBAKC;AAID,MAAa,QAAc,SAAQ,OAAoB;IAGtD;QACC,KAAK,EAAE,CAAC;QACR,OAAO,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAC,EAAE,CAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAC,EAAE,CAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAG,CAAC,GAAE,EAAE,GAAC,MAAM,iBAAiB,CAAA,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzH,CAAC;IACD,KAAK,KAAK,IAAI,MAAM,GAAE,IAAI,QAAQ,EAAO,CAAC,CAAE,MAAM,CAAC,GAAG,GAAE,EAAC,GAAG,IAAI,CAAC,GAAG,EAAC,CAAC,CAAE,MAAM,CAAC,IAAI,GAAE,IAAI,CAAC,IAAI,CAAC,CAAE,MAAM,CAAC,MAAM,GAAE,IAAI,CAAC,MAAM,CAAC,CAAE,OAAO,MAAM,CAAC,CAAC,CAAC;CAG9I;AAVD,4BAUC;AAKD,MAAa,SAAS;IAGb,KAAK,GAA0C,EAAE,CAAC;IAClD,KAAK,GAAY,EAAE,CAAC;IACpB,OAAO,GAAe,EAAE,CAAC;IACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE9C,GAAG,CAAC,GAAS,EAAE,KAAc;QAC5B,IAAI,KAAK,GAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAE,KAAK,EAAE,MAAM;YAAE,MAAM,4BAA4B,CAAC;QACxD,IAAI,GAAG,GAAE,IAAI,CAAC,KAAK,CAAC;QACpB,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,GAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,GAAG,GAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SAIxB;QAED,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,GAAE,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAoB,CAAC,CAAC,CAAC,EAAC,GAAG,GAAG,EAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,GAAS;QACZ,IAAI,KAAK,GAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,MAAM,IAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,IAAI,GAAG,GAAE,IAAI,CAAC,KAAK,CAAC;QACpB,KAAI,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,GAAG,GAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;SAC3B;QACD,OAAO,GAAc,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAS,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAE,IAAI,CAAC,CAAC,CAAC;IAE9C,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC,OAAO,KAAK,KAAI,IAAI,CAAC,CAAC,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrF;AAzCD,8BAyCC;AAID,MAAa,SAAS;IAEb,IAAI,GAAE,IAAI,SAAS,EAAa,CAAC;IACzC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAS,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,GAAS,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACrC;AARD,8BAQC;AAGD,MAAa,QAA2C,SAAQ,SAAgC;CAE/F;AAFD,4BAEC;AAED,MAAa,QAAqC,SAAQ,SAA0B;CAEnF;AAFD,4BAEC;AAqDD,MAAa,YAAY;IAEf,SAAS,CAAc;IACvB,QAAQ,CAAmB;IACpC,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAE/C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAM,IAAI,GAAG,GAAE,IAAI,CAAC,MAAM,CAAC,CAAE,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,GAAG,EAAE,CAAC,EAAE;QAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,YAAY,UAAyB,EAAG,YAAwB;QAC/D,IAAI,CAAC,SAAS,GAAE,YAAY,CAAC;QAAE,IAAI,CAAC,QAAQ,GAAE,UAAU,CAAC;QACzD,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACD;AAZD,oCAYC;AAuCD,IAAI,GAAgD,CAAC;AAsFrD,SAAgB,UAAU,CAAI,GAAM;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,gCAEC;AASD,MAAa,WAAW;IAEf,OAAO,GAAG,KAAK,CAAC;IACxB,WAAW,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,MAAM,KAAU,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,CAAC,CAAC;CAErC;AAND,kCAMC;AAID,MAAa,iBAAqB,SAAQ,OAAU;IAC3C,MAAM,CAAC,UAAU,CAA0B;IAClC,OAAO,CAA2B;IAClC,SAAS,CAAa;IACvC,YACC,QAAgG,EAChG,QAAmB;QAEnB,KAAK,CAAE,CAAC,OAAO,EAAE,MAAM,EAAC,EAAE,GAAE,iBAAiB,CAAC,UAAU,GAAE,MAAM,CAAC,CAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAClG,IAAI,CAAC,OAAO,GAAE,iBAAiB,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAE,QAAQ,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,GAAW,IAAI,IAAI,IAAI,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAE,OAAO,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAIzF,MAAM,CAAU,OAAO,CAAI,KAAS,IAAI,OAAO,IAAI,iBAAiB,CAAS,CAAC,OAAO,EAAE,MAAM,EAAC,EAAE,CAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC;CACjJ;AAjBD,8CAiBC;AAOD,SAAgB,sBAAsB,CAAC,WAAmB,EAAG,OAAyB,EAAG,MAAiB;IACzG,IAAI,KAAsC,CAAC;IAC3C,SAAS,IAAI,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,CAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,GAAE,CAAC,OAA0B,EAAE,MAA8B,EAAC,EAAE;QAC3E,KAAK,GAAE,WAAW,CAAC,GAAE,EAAE,GAAG,IAAI,OAAO,EAAE,IAAE,KAAK,EAAE;YAAE,IAAI,EAAE,CAAC;YAAE,MAAM,CAAC,SAAS,CAAC,CAAC;SAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACjG,CAAC,CAAA;IACD,OAAO,IAAI,iBAAiB,CAAQ,QAAQ,EAAE,GAAE,EAAE,CAAC,IAAI,EAAE,CAAE,CAAC;AAC7D,CAAC;AAPD,wDAOC;AAIM,KAAK,UAAU,4BAA4B,CAAI,IAAgB,EAAE,SAAsB,EAAE,WAAW,GAAC,EAAE;IAC7G,IAAI,gBAAgB,GAAE,sBAAsB,CAAC,WAAW,EAAE,GAAE,EAAE,CAAC,CAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;KACpD;IACD,OAAM,CAAC,EAAE;QACR,IAAI,SAAS,EAAE,EAAE;YAAE,OAAO,SAAS,CAAC;QACpC,MAAM,CAAC,CAAC;KACR;YACO;QACP,gBAAgB,CAAC,MAAM,EAAE,CAAC;KAC1B;AACF,CAAC;AAZD,oEAYC;AAGD,MAAa,eAAe;IACnB,MAAM,CAAC;IACP,OAAO,CAAC;IAChB,YAAY,SAAiB,EAAG,OAAiB,EAAG,MAAiB,IAAI,IAAI,CAAE,MAAM,GAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,OAAO,GAAE,MAAM,CAAC,CAAC,CAAC;IAChJ,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACzE;AALD,0CAKC;AAID,MAAa,KAAK;IACT,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAElC,IAAI;QACH,IAAI,KAAK,GAAiC,MAAM,CAAC,EAAE,GAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YACxB,KAAK,GAAG,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,EAAwB;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;SAClB;gBAAS;YACT,MAAM,EAAE,CAAC;SACT;IACF,CAAC;IAED,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CAClD;AAzBD,sBAyBC;AAiBM,KAAK,UAAU,eAAe,CAAC,UAAkB;IACvD,MAAM,UAAU,GAAE,eAAe,CAAC;IAClC,IAAI,OAAO,MAAM,IAAI,QAAQ;QAC5B,OAAO,CAAC,yBAAa,UAAU,yBAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEpE,IAAI,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE;QAE/C,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KACpD;SAAM;QAEH,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAE5B,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAElC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;KACN;AACL,CAAC;AAzBD,0CAyBC;AAMD,SAAgB,SAAS,CAAmC,OAAU,EAAE,OAAU;IAC9E,IAAI,OAAO,IAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAIlC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;QAC9B,OAAO,KAAK,CAAC;KAChB;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAG,IAAI;YAAE,SAAS;QAG1B,MAAM,UAAU,GAAG,OAAM,CAAC,IAAI,CAAC,IAAE,QAAQ,IAAI,OAAM,CAAC,IAAI,CAAC,IAAE,QAAQ,IAAI,IAAI,IAAE,IAAI,IAAI,IAAI,IAAE,IAAI,CAAC;QAEhG,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;YACrC,OAAO,KAAK,CAAC;KACpB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAvBD,8BAuBC;AAGD,SAAgB,YAAY,CAA6C,OAAU,EAAE,OAAU;IAC9F,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,IAAE,OAAO,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;QACjC,OAAO,KAAK,CAAC;KACb;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,IAAI;YAChB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAfD,oCAeC;AAuBD,MAAa,SAAS;IACrB,MAAM,CAAC,GAAG,GAAC,CAAC,CAAC;IACJ,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,CAAU;IACjB,MAAM,CAAS;IACf,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAiC,CAAC;IAErD,QAAQ,GAAG,GAAE,EAAE,GAAE,OAAO,IAAI,CAAC,KAAK,GAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACjD,YAAY,MAAe,EAAE,KAAa,IAAI,IAAI,CAAC,OAAO,GAAE,MAAM,CAAC,CAAE,IAAI,CAAC,MAAM,GAAE,KAAK,CAAC,CAAC,CAAC;IAE1F,MAAM,CAAC,OAAO,CAAkB,EAA6B;QAC5D,IAAI,GAAG,GAAE,EAAgC,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;IAE9F,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAkB,EAA6B,EAAE,KAAa,IAAI,IAAI,IAAI,GAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,IAAI,CAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;;AAdpK,8BAAS;AAkBtB,MAAM,gBAAgB,GAAE,IAAI,CAAC,SAAS,CAAC;AAEvC,IAAI,CAAC,SAAS,GAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,CAAA,gBAAgB,CAAC,KAAK,EAAE,CAAC,GAAG,EAAC,GAAG,EAAC,EAAE,CAAA,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAC,EAAE,CAAC,CAAC,CAAC,OAAO,QAAQ,IAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAIrL,MAAa,MAAY,SAAQ,GAAQ;IAC7B,UAAU,CAAgB;IACzB,GAAG,CAAC,GAAM,EAAE,KAAQ,IAAI,IAAI,CAAC,UAAU,GAAC,SAAS,CAAC,CAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,GAAM,IAAI,IAAI,CAAC,UAAU,GAAC,SAAS,CAAC,CAAE,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,oBAAoB,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,YAAY,CAAC,GAAM,EAAE,GAAU;QAC3B,IAAI,CAAC,GAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,KAAG,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAE,GAAG,EAAE,CAAC,CAAC;QACpF,OAAO,CAAM,CAAC;IAClB,CAAC;IACD,QAAQ,CAAC,GAAM,EAAE,GAAO,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,EAAE,CAAA,GAAG,CAAC,CAAC,CAAC,CAAC;CACxE;AAVD,wBAUC;AAGD,MAAa,UAAgC,SAAQ,OAAY;IAC7D,YAAY,CAAC,GAAM,EAAE,GAAU;QAC3B,IAAI,CAAC,GAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,KAAG,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAE,GAAG,EAAE,CAAC,CAAC;QACpF,OAAO,CAAM,CAAC;IAClB,CAAC;IACD,QAAQ,CAAC,GAAM,EAAE,GAAO,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAE,EAAE,CAAA,GAAG,CAAC,CAAC,CAAC,CAAC;CACxE;AAND,gCAMC;AAID,MAAa,aAAa;IACd,GAAG,CAAQ;IACX,GAAG,CAAQ;IACX,IAAI,CAAS;IACrB,YAAY,IAAY,IAAI,IAAI,CAAC,IAAI,GAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAS,EAAE,OAAiB;QAEjC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAAE,IAAI,CAAC,GAAG,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,GAAE,OAAO,EAAE,CAAC;SAAE;QAClE,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YACzB,IAAI,GAAG,CAAC,CAAC,CAAC,IAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,GAAE,OAAO,EAAE,CAAC;aAAE;QAChF,OAAO,IAAI,CAAC,GAAI,CAAC;IACrB,CAAC;CACJ;AAZD,sCAYC;AAED,MAAa,aAA6C,SAAQ,aAAyB;IAAG,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE;AAA3H,sCAA2H;AAK3H,SAAgB,kBAAkB,CAAmB,MAAc,EAAE,OAA6B;IAC9F,IAAI,IAAI,GAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAI,IAAI,CAAC,IAAI,OAAO;QAChB,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAW,CAAC;YAAE,OAAO,KAAK,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC;AALD,gDAKC"}