@webda/core 2.1.5 → 2.3.0

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 (97) hide show
  1. package/lib/application.d.ts +55 -8
  2. package/lib/application.js +27 -1
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +8 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +66 -6
  7. package/lib/core.js +96 -3
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +49 -1
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +1 -0
  12. package/lib/index.js +1 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +1 -1
  15. package/lib/models/aclmodel.spec.js +10 -10
  16. package/lib/models/aclmodel.spec.js.map +1 -1
  17. package/lib/models/coremodel.d.ts +79 -24
  18. package/lib/models/coremodel.js +96 -19
  19. package/lib/models/coremodel.js.map +1 -1
  20. package/lib/models/coremodel.spec.js +32 -2
  21. package/lib/models/coremodel.spec.js.map +1 -1
  22. package/lib/models/user.d.ts +3 -3
  23. package/lib/models/user.js.map +1 -1
  24. package/lib/models/user.spec.js +1 -0
  25. package/lib/models/user.spec.js.map +1 -1
  26. package/lib/router.d.ts +1 -1
  27. package/lib/services/authentication.d.ts +1 -1
  28. package/lib/services/binary.d.ts +2 -2
  29. package/lib/services/cloudbinary.spec.js +1 -0
  30. package/lib/services/cloudbinary.spec.js.map +1 -1
  31. package/lib/services/configuration.d.ts +1 -1
  32. package/lib/services/cron.d.ts +1 -0
  33. package/lib/services/cron.js +9 -1
  34. package/lib/services/cron.js.map +1 -1
  35. package/lib/services/cron.spec.js +1 -0
  36. package/lib/services/cron.spec.js.map +1 -1
  37. package/lib/services/oauth.d.ts +1 -1
  38. package/lib/services/proxy.d.ts +7 -1
  39. package/lib/services/proxy.js +13 -4
  40. package/lib/services/proxy.js.map +1 -1
  41. package/lib/services/service.d.ts +28 -4
  42. package/lib/services/service.js +15 -11
  43. package/lib/services/service.js.map +1 -1
  44. package/lib/services/service.spec.js +55 -7
  45. package/lib/services/service.spec.js.map +1 -1
  46. package/lib/stores/aliasstore.d.ts +107 -0
  47. package/lib/stores/aliasstore.js +152 -0
  48. package/lib/stores/aliasstore.js.map +1 -0
  49. package/lib/stores/aliasstore.spec.d.ts +11 -0
  50. package/lib/stores/aliasstore.spec.js +87 -0
  51. package/lib/stores/aliasstore.spec.js.map +1 -0
  52. package/lib/stores/file.js +1 -1
  53. package/lib/stores/file.js.map +1 -1
  54. package/lib/stores/file.spec.js +12 -113
  55. package/lib/stores/file.spec.js.map +1 -1
  56. package/lib/stores/mapper.d.ts +1 -1
  57. package/lib/stores/mapper.js +1 -1
  58. package/lib/stores/mapper.js.map +1 -1
  59. package/lib/stores/memory.spec.d.ts +1 -0
  60. package/lib/stores/memory.spec.js +23 -0
  61. package/lib/stores/memory.spec.js.map +1 -1
  62. package/lib/stores/store.d.ts +76 -6
  63. package/lib/stores/store.js +116 -10
  64. package/lib/stores/store.js.map +1 -1
  65. package/lib/stores/store.spec.d.ts +2 -0
  66. package/lib/stores/store.spec.js +121 -0
  67. package/lib/stores/store.spec.js.map +1 -1
  68. package/lib/stores/webdaql/WebdaQLLexer.js +5 -5
  69. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  70. package/lib/stores/webdaql/WebdaQLParserLexer.js +5 -5
  71. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  72. package/lib/stores/webdaql/WebdaQLParserParser.js +4 -4
  73. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  74. package/lib/stores/webdaql/query.d.ts +16 -1
  75. package/lib/stores/webdaql/query.js +50 -1
  76. package/lib/stores/webdaql/query.js.map +1 -1
  77. package/lib/stores/webdaql/query.spec.js +20 -0
  78. package/lib/stores/webdaql/query.spec.js.map +1 -1
  79. package/lib/test.js +1 -3
  80. package/lib/test.js.map +1 -1
  81. package/lib/utils/context.d.ts +15 -4
  82. package/lib/utils/context.js +61 -26
  83. package/lib/utils/context.js.map +1 -1
  84. package/lib/utils/cookie.js +1 -1
  85. package/lib/utils/cookie.js.map +1 -1
  86. package/lib/utils/cookie.spec.js +7 -189
  87. package/lib/utils/cookie.spec.js.map +1 -1
  88. package/lib/utils/httpcontext.d.ts +2 -2
  89. package/lib/utils/throttler.d.ts +82 -0
  90. package/lib/utils/throttler.js +136 -0
  91. package/lib/utils/throttler.js.map +1 -0
  92. package/lib/utils/throttler.spec.d.ts +1 -0
  93. package/lib/utils/throttler.spec.js +47 -0
  94. package/lib/utils/throttler.spec.js.map +1 -0
  95. package/lib/utils/waiter.d.ts +2 -2
  96. package/package.json +10 -9
  97. package/webda.module.json +76 -2
@@ -1,8 +1,8 @@
1
1
  import { EventWithContext, WebdaError } from "../core.js";
2
2
  import { ConfigurationProvider } from "../index.js";
3
- import { CoreModel, CoreModelDefinition } from "../models/coremodel.js";
3
+ import { Constructor, CoreModel, CoreModelDefinition } from "../models/coremodel.js";
4
4
  import { Service, ServiceParameters } from "../services/service.js";
5
- import { Context } from "../utils/context.js";
5
+ import { Context, OperationContext } from "../utils/context.js";
6
6
  import { HttpMethodType } from "../utils/httpcontext.js";
7
7
  import { WebdaQL } from "./webdaql/query.js";
8
8
  export declare class StoreNotFoundError extends WebdaError {
@@ -269,7 +269,7 @@ export interface EventStoreWebDelete extends EventWithContext {
269
269
  */
270
270
  store: Store;
271
271
  }
272
- export declare type ExposeParameters = {
272
+ export type ExposeParameters = {
273
273
  /**
274
274
  * URL endpoint to use to expose REST Resources API
275
275
  *
@@ -342,6 +342,10 @@ export declare class StoreParameters extends ServiceParameters {
342
342
  * @default "Webda/CoreModel"
343
343
  */
344
344
  model?: string;
345
+ /**
346
+ * Different models managed by this store
347
+ */
348
+ models?: string[];
345
349
  /**
346
350
  * async delete
347
351
  */
@@ -353,18 +357,49 @@ export declare class StoreParameters extends ServiceParameters {
353
357
  /**
354
358
  * Allow to load object that does not have the type data
355
359
  *
356
- * @default true
360
+ * If set to true, then the Store will only managed the defined _model and no
361
+ * model extending this one
362
+ *
363
+ * @default false
357
364
  */
358
365
  strict?: boolean;
366
+ /**
367
+ * When __type model not found, use the model
368
+ * If strict is setup this parameter is not used
369
+ *
370
+ * @default true
371
+ */
372
+ defaultModel?: boolean;
373
+ /**
374
+ * If set, Store will ignore the __type
375
+ *
376
+ * @default false
377
+ */
378
+ forceModel?: boolean;
359
379
  /**
360
380
  * Slow query threshold
361
381
  *
362
382
  * @default 30000
363
383
  */
364
384
  slowQueryThreshold: number;
385
+ /**
386
+ * Parent of the store
387
+ *
388
+ * If parent is specified the url route is relative to it
389
+ */
390
+ parent?: {
391
+ name: string;
392
+ condition: string;
393
+ };
394
+ /**
395
+ * For future use in our GraphQL api
396
+ *
397
+ * Expose this store in the graphql
398
+ */
399
+ graphql?: boolean;
365
400
  constructor(params: any, service: Service<any>);
366
401
  }
367
- export declare type StoreEvents = {
402
+ export type StoreEvents = {
368
403
  "Store.PartialUpdated": EventStorePartialUpdated;
369
404
  "Store.Save": EventStoreSave;
370
405
  "Store.Saved": EventStoreSaved;
@@ -443,6 +478,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
443
478
  * Contains the current model
444
479
  */
445
480
  _model: CoreModelDefinition;
481
+ /**
482
+ * Models of this store
483
+ */
484
+ _models: CoreModelDefinition[];
485
+ /**
486
+ * Contains the current model type
487
+ */
488
+ _modelType: string;
446
489
  /**
447
490
  * Contain the model update date
448
491
  */
@@ -472,6 +515,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
472
515
  queryDuration: number;
473
516
  slowQueries: number;
474
517
  };
518
+ /**
519
+ * The parent store if it is nested
520
+ */
521
+ parent?: Store;
475
522
  /**
476
523
  * Load the parameters for a service
477
524
  */
@@ -489,6 +536,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
489
536
  */
490
537
  getModel(): CoreModelDefinition;
491
538
  getLastUpdateField(): string;
539
+ /**
540
+ * Return if a model is handled by the store
541
+ * @param model
542
+ * @return distance from the managed class -1 means not managed, 0 manage exactly this model, >0 manage an ancestor model
543
+ *
544
+ */
545
+ handleModel(model: Constructor<CoreModel> | CoreModel): number;
492
546
  /**
493
547
  * Get From Cache or main
494
548
  * @param uid
@@ -502,6 +556,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
502
556
  * @returns
503
557
  */
504
558
  getObject(uid: string): Promise<T>;
559
+ /**
560
+ * Get the full url with the nested parent
561
+ * @param url
562
+ * @param methods
563
+ * @param depth
564
+ */
565
+ getParentUrl(depth?: number): string;
505
566
  /**
506
567
  * @override
507
568
  */
@@ -545,6 +606,15 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
545
606
  incrementAttribute(uid: string, prop: string, value: number): Promise<void | any[]>;
546
607
  upsertItemToCollection(uid: string, prop: string, item: any, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
547
608
  deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField?: string): Promise<void>;
609
+ /**
610
+ * Get all results without pagination
611
+ *
612
+ * This can be resource consuming
613
+ *
614
+ * @param query
615
+ * @param context
616
+ */
617
+ queryAll(query: string, context?: Context): Promise<T[]>;
548
618
  /**
549
619
  * Query store with WebdaQL
550
620
  * @param query
@@ -679,7 +749,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
679
749
  * @param {String} uuid to get
680
750
  * @return {Promise} the object retrieved ( can be undefined if not found )
681
751
  */
682
- get(uid: string, ctx?: Context, defaultValue?: any): Promise<T>;
752
+ get(uid: string, ctx?: OperationContext, defaultValue?: any): Promise<T>;
683
753
  /**
684
754
  * Set one attribute in an object
685
755
  *
@@ -26,6 +26,7 @@ export class StoreParameters extends ServiceParameters {
26
26
  var _a;
27
27
  super(params);
28
28
  this.model ?? (this.model = "Webda/CoreModel");
29
+ this.models ?? (this.models = []);
29
30
  let expose = params.expose;
30
31
  if (typeof expose == "boolean") {
31
32
  expose = {};
@@ -51,7 +52,9 @@ export class StoreParameters extends ServiceParameters {
51
52
  if (params.index) {
52
53
  throw new Error("Deprecated index usage, use an AggregatorService");
53
54
  }
54
- this.strict ?? (this.strict = true);
55
+ this.strict ?? (this.strict = false);
56
+ this.defaultModel ?? (this.defaultModel = true);
57
+ this.forceModel ?? (this.forceModel = false);
55
58
  this.slowQueryThreshold ?? (this.slowQueryThreshold = 30000);
56
59
  }
57
60
  }
@@ -96,6 +99,10 @@ class Store extends Service {
96
99
  * Contain the reverse map
97
100
  */
98
101
  this._reverseMap = [];
102
+ /**
103
+ * Models of this store
104
+ */
105
+ this._models = [];
99
106
  /**
100
107
  * Contain the model uuid field
101
108
  */
@@ -127,11 +134,17 @@ class Store extends Service {
127
134
  super.computeParameters();
128
135
  const p = this.parameters;
129
136
  this._model = this._webda.getModel(p.model);
137
+ this._models = [
138
+ this._model,
139
+ ...this.parameters.models.map(m => this._webda.getModel(m))
140
+ ];
141
+ this._modelType = this._webda.getApplication().getModelFromConstructor(this._model);
130
142
  this._uuidField = this._model.getUuidField();
131
143
  this._lastUpdateField = this._model.getLastUpdateField();
132
144
  this._creationDateField = this._model.getCreationField();
133
145
  this._cacheStore?.computeParameters();
134
146
  this.cacheStorePatchException();
147
+ this.parent = this.parameters.parent ? this.getService(this.parameters.parent.name) : undefined;
135
148
  }
136
149
  logSlowQuery(_query, _reason, _time) {
137
150
  // TODO Need to implement: https://github.com/loopingz/webda.io/issues/202
@@ -146,6 +159,37 @@ class Store extends Service {
146
159
  getLastUpdateField() {
147
160
  return this._model.getLastUpdateField();
148
161
  }
162
+ /**
163
+ * Return if a model is handled by the store
164
+ * @param model
165
+ * @return distance from the managed class -1 means not managed, 0 manage exactly this model, >0 manage an ancestor model
166
+ *
167
+ */
168
+ handleModel(model) {
169
+ let finalDepth;
170
+ // @ts-ignore
171
+ let inst = model.__class ? model : new model();
172
+ this._models
173
+ .filter(m => inst instanceof m)
174
+ .forEach(m => {
175
+ let next = model instanceof CoreModel ? model.__class : model;
176
+ let depth = 0;
177
+ while (next && next.name !== "") {
178
+ if (next === m) {
179
+ finalDepth = finalDepth !== undefined ? Math.min(depth, finalDepth) : depth;
180
+ return;
181
+ }
182
+ // If Store strictly managed one Model
183
+ if (this.parameters.strict) {
184
+ return;
185
+ }
186
+ depth++;
187
+ next = Object.getPrototypeOf(next);
188
+ }
189
+ });
190
+ finalDepth ?? (finalDepth = -1);
191
+ return finalDepth;
192
+ }
149
193
  /**
150
194
  * Get From Cache or main
151
195
  * @param uid
@@ -171,6 +215,22 @@ class Store extends Service {
171
215
  this.metrics.get++;
172
216
  return this._getFromCache(uid);
173
217
  }
218
+ /**
219
+ * Get the full url with the nested parent
220
+ * @param url
221
+ * @param methods
222
+ * @param depth
223
+ */
224
+ getParentUrl(depth = 0) {
225
+ if (!this.parameters.expose) {
226
+ throw new Error(`Parent store need to be exposed ${this.getName()}`);
227
+ }
228
+ let res = `${this.parameters.url}/{P${depth}uuid}`;
229
+ if (this.parent) {
230
+ res = this.parent.getParentUrl(depth + 1) + res;
231
+ }
232
+ return res;
233
+ }
174
234
  /**
175
235
  * @override
176
236
  */
@@ -179,6 +239,7 @@ class Store extends Service {
179
239
  if (url.startsWith("/")) {
180
240
  return url;
181
241
  }
242
+ // Parent url to find here
182
243
  const expose = this.parameters.expose;
183
244
  if (!expose.url ||
184
245
  (url === "." && methods.includes("POST") && expose.restrict.create) ||
@@ -190,7 +251,8 @@ class Store extends Service {
190
251
  (url === "." && methods.includes("PUT") && expose.restrict.query)) {
191
252
  return undefined;
192
253
  }
193
- return super.getUrl(url, methods);
254
+ let parentUrl = this.parent ? this.parent.getParentUrl() : "";
255
+ return parentUrl + super.getUrl(url, methods);
194
256
  }
195
257
  /**
196
258
  * @inheritdoc
@@ -334,9 +396,30 @@ class Store extends Service {
334
396
  */
335
397
  initModel(object = {}) {
336
398
  var _a;
399
+ if (object instanceof CoreModel) {
400
+ object.__type = this.getWebda().getApplication().getModelFromInstance(object);
401
+ }
402
+ else {
403
+ object.__type ?? (object.__type = this._modelType);
404
+ }
337
405
  // Make sure to send a model object
338
406
  if (!(object instanceof this._model)) {
339
- object = this._model.factory(this._model, object);
407
+ // Dynamic load type
408
+ if (object.__type && !this.getParameters().forceModel) {
409
+ try {
410
+ const modelType = this.getWebda().getApplication().getModel(object.__type);
411
+ object = new modelType().load(object, true);
412
+ }
413
+ catch (err) {
414
+ if (!this.parameters.defaultModel) {
415
+ throw new Error(`Unknown model ${object.__type} found for Store(${this.getName()})`);
416
+ }
417
+ object = this._model.factory(this._model, object);
418
+ }
419
+ }
420
+ else {
421
+ object = this._model.factory(this._model, object);
422
+ }
340
423
  }
341
424
  if (!object.getUuid()) {
342
425
  object.setUuid(object.generateUid(object));
@@ -431,6 +514,28 @@ class Store extends Service {
431
514
  }
432
515
  });
433
516
  }
517
+ /**
518
+ * Get all results without pagination
519
+ *
520
+ * This can be resource consuming
521
+ *
522
+ * @param query
523
+ * @param context
524
+ */
525
+ async queryAll(query, context) {
526
+ const res = [];
527
+ if (query.includes("OFFSET")) {
528
+ throw new Error("Cannot contain an OFFSET for queryAll method");
529
+ }
530
+ let continuationToken;
531
+ do {
532
+ let q = query + (continuationToken !== undefined ? ` OFFSET "${continuationToken}"` : "");
533
+ let page = await this.query(q, context);
534
+ continuationToken = page.continuationToken;
535
+ res.push(...page.results);
536
+ } while (continuationToken);
537
+ return res;
538
+ }
434
539
  /**
435
540
  * Query store with WebdaQL
436
541
  * @param query
@@ -731,8 +836,8 @@ class Store extends Service {
731
836
  object[this._lastUpdateField] = new Date();
732
837
  this.metrics.get++;
733
838
  let load = await this._getFromCache(object[this._uuidField], true);
734
- if (load.__type !== this._model.name && this.parameters.strict) {
735
- this.log("WARN", `Object '${object[this._uuidField]}' was not created by this store`);
839
+ if (load.__type !== this._modelType && this.parameters.strict) {
840
+ this.log("WARN", `Object '${object[this._uuidField]}' was not created by this store ${load.__type}:${this._modelType}`);
736
841
  throw new StoreNotFoundError(object[this._uuidField], this.getName());
737
842
  }
738
843
  loaded = this.initModel(load);
@@ -855,8 +960,8 @@ class Store extends Service {
855
960
  if (to_delete === undefined) {
856
961
  return;
857
962
  }
858
- if (to_delete.__type !== this._model.name && this.parameters.strict) {
859
- this.log("WARN", `Object '${uid}' was not created by this store`);
963
+ if (to_delete.__type !== this._modelType && this.parameters.strict) {
964
+ this.log("WARN", `Object '${uid}' was not created by this store ${to_delete.__type}:${this._modelType}`);
860
965
  return;
861
966
  }
862
967
  to_delete = this.initModel(to_delete);
@@ -950,10 +1055,10 @@ class Store extends Service {
950
1055
  this.metrics.get++;
951
1056
  let object = await this._getFromCache(uid);
952
1057
  if (!object) {
953
- return defaultValue ? this.initModel(defaultValue) : undefined;
1058
+ return defaultValue ? this.initModel(defaultValue).setUuid(uid) : undefined;
954
1059
  }
955
- if (object.__type !== this._model.name && this.parameters.strict) {
956
- this.log("WARN", `Object '${uid}' was not created by this store`);
1060
+ if (object.__type !== this._modelType && this.parameters.strict) {
1061
+ this.log("WARN", `Object '${uid}' was not created by this store ${object.__type}:${this._modelType}`);
957
1062
  return undefined;
958
1063
  }
959
1064
  object = this.initModel(object);
@@ -1161,6 +1266,7 @@ class Store extends Service {
1161
1266
  }
1162
1267
  else {
1163
1268
  let updateObject = new this._model();
1269
+ updateObject.setContext(ctx);
1164
1270
  updateObject.load(body);
1165
1271
  // Copy back the _ attributes
1166
1272
  Object.keys(object)
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAoB,UAAU,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAoC,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAChD,YAAY,IAAY,EAAE,SAAiB;QACzC,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,IAAI,UAAU,SAAS,GAAG,CAAC,CAAC;IACxE,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,UAAU;IACtD,YAAY,IAAY,EAAE,cAAsB,EAAE,SAAwB;QACxE,KAAK,CACH,+BAA+B,EAC/B,8BAA8B,IAAI,IAAI,cAAc,QAClD,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SACxD,EAAE,CACH,CAAC;IACJ,CAAC;CACF;AAqUD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IA4BpD,YAAY,MAAW,EAAE,OAAqB;;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,KAAV,IAAI,CAAC,KAAK,GAAK,iBAAiB,EAAC;QACjC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,OAAO,MAAM,IAAI,SAAS,EAAE;YAC9B,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;SACpD;aAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YACpC,MAAM,GAAG;gBACP,GAAG,EAAE,MAAM;aACZ,CAAC;SACH;aAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE;YAC/D,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;SACpD;QACD,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAA,IAAI,CAAC,MAAM,EAAC,WAAW,QAAX,WAAW,GAAK,KAAK,EAAC;YAClC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,IAAI,EAAC;QACrB,IAAI,CAAC,kBAAkB,KAAvB,IAAI,CAAC,kBAAkB,GAAK,KAAK,EAAC;IACpC,CAAC;CACF;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAe,KAKb,SAAQ,OAAa;IALvB;;QAYE;;WAEG;QACH,gBAAW,GAAmD,EAAE,CAAC;QAajE;;WAEG;QACO,eAAU,GAAW,MAAM,CAAC;QACtC;;WAEG;QACH,YAAO,GAAG;YACR,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,CAAC;YAChB,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;SACf,CAAC;IA66CJ,CAAC;IAt6CC;;;;OAIG;IACH,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,OAAe,EAAE,KAAa;QACzD,0EAA0E;IAC5E,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,kBAA2B,KAAK;QAC/D,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE;YACR,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;SAC7C;aAAM;YACL,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW,EAAE,OAAyB;QAC3C,qBAAqB;QACrB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,IACE,CAAC,MAAM,CAAC,GAAG;YACX,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnE,CAAC,GAAG,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5E,CAAC,GAAG,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3E,CAAC,GAAG,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzE,CAAC,GAAG,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtE,CAAC,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrE,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjE;YACA,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,OAAO;SACR;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtC,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC1B,IAAI,WAAW,CAAC;YAChB,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;gBAChC,WAAW,GAAG;oBACZ,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,UAAU,EAAE;oCACV,CAAC,EAAE;wCACD,IAAI,EAAE,QAAQ;qCACf;iCACF;6BACF;yBACF;qBACF;iBACF,CAAC;aACH;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE;gBAChG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACvB,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE;oBAClC,WAAW,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB;oBAC9D,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;oBACpC,WAAW,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBACvC,WAAW;oBACX,SAAS,EAAE;wBACT,KAAK,EAAE;4BACL,WAAW,EAAE,iBAAiB;4BAC9B,OAAO,EAAE;gCACP,kBAAkB,EAAE;oCAClB,MAAM,EAAE;wCACN,UAAU,EAAE;4CACV,gBAAgB,EAAE;gDAChB,IAAI,EAAE,QAAQ;6CACf;4CACD,OAAO,EAAE;gDACP,IAAI,EAAE,OAAO;gDACb,KAAK,EAAE;oDACL,IAAI,EAAE,wBAAwB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;iDACjD;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD,KAAK,EAAE;4BACL,WAAW,EAAE,kBAAkB;yBAChC;wBACD,KAAK,EAAE;4BACL,WAAW,EAAE,4BAA4B;yBAC1C;qBACF;iBACF;aACF,CAAC,CAAC;SACJ;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACzC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,MAAM,GAAgB,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACnB,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC1B;gBACD,IAAI,QAAQ,CAAC;gBACb,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,2DAA2D;oBAE3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;wBAC5B,MAAM,KAAK,CAAC,wBAAwB,GAAG,IAAI,GAAG,iBAAiB,CAAC,CAAC;qBAClE;oBACD,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;iBACtE;qBAAM;oBACL,2DAA2D;oBAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;wBACtC,MAAM,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,iBAAiB,CAAC,CAAC;qBAC3D;oBACD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;oBAE3B,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;iBAC7E;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;gBACjB,OAAO,QAAQ;qBACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE;qBACjC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9E,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,IAAI;YACZ,MAAM;YACN,QAAQ;YACR,SAAS;YACT,SAAS;YACT,qBAAqB;YACrB,yBAAyB;YACzB,2BAA2B;YAC3B,kBAAkB;SACnB,EAAE;YACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;IACH,CAAC;IAED;;;;;;;OAOG;IACO,SAAS,CAAC,SAAc,EAAE;;QAClC,mCAAmC;QACnC,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5C;QACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAC9B,MAAM,MAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAnC,MAAM,OAAmC,EAAE,EAAC;YAC5C,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;gBAClD,cAAc;gBACd,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;aACzE;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAc,EAAE;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,IAAY,EAAE,KAAqB;QAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;QAC/D,4CAA4C;QAC5C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QACD,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;YACrE,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,IAAI;YACX,UAAU;YACV,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,GAAW,EACX,IAAY,EACZ,IAAS,EACT,QAAgB,SAAS,EACzB,qBAA0B,SAAS,EACnC,0BAAkC,IAAI,CAAC,UAAU;QAEjD,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;QACpH,MAAM,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAC7C,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,CACX,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;YACpE,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,IAAI;YACX,UAAU;YACV,cAAc,EAAE;gBACd,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,KAAK;iBACb;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,GAAW,EACX,IAAY,EACZ,KAAa,EACb,kBAAuB,EACvB,0BAAkC,IAAI,CAAC,UAAU;QAEjD,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAChH,MAAM,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAC/C,GAAG,EACH,IAAI,EACJ,KAAK,EACL,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;YACpE,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,IAAI;YACX,UAAU;YACV,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,KAAK;iBACb;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,OAAiB;QAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,SAAS,CAAC;QACd,IAAI,eAAe,EAAE;YACnB,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvB,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,SAAS,KAAK,EAAE,CAAC;aACvD;iBAAM;gBACL,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;aACnC;SACF;aAAM;YACL,SAAS,GAAG,KAAK,CAAC;SACnB;QACD,IAAI,cAAc,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC9C,yBAAyB;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAmB;YAClD,KAAK;YACL,WAAW;YACX,KAAK,EAAE,IAAI;YACX,OAAO;SACR,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,EAAE;YACX,iBAAiB,EAAE,SAAS;SAC7B,CAAC;QACF;;;;;;;;;WASG;QACH,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE;YACpC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;YACpF,uEAAuE;YACvE,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE;gBACnC,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;aACxE;YACD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,KAAK,IAAI,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;gBACnC,+EAA+E;gBAC/E,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,IAAI,YAAY,EAAE;oBAClC,SAAS;iBACV;gBACD,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC/D,SAAS;iBACV;gBACD,IAAI,OAAO,IAAI,iBAAiB,EAAE;oBAChC,IAAI;wBACF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;qBACnC;oBAAC,OAAO,GAAG,EAAE;wBACZ,SAAS;qBACV;iBACF;gBAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE;oBAClC,IAAI,cAAc,KAAK,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;wBAChD,MAAM,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;qBACzD;yBAAM;wBACL,MAAM,CAAC,iBAAiB,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;qBAC9D;oBACD,MAAM;iBACP;aACF;YACD,qBAAqB;YACrB,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC;YAC1C,4CAA4C;YAC5C,YAAY,GAAG,CAAC,CAAC;YACjB,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE;gBAC9D,MAAM;aACP;SACF;QACD,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,aAAa;YACxB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1F,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;SACxC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAqB;YACtD,KAAK;YACL,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,IAAI;YACX,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,SAAS,CAAC,GAAY;QACpC,IAAI,KAAa,CAAC;QAClB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;YAC9C,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,IAAI;YACF,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,WAAW,EAAE;gBAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;gBACvC,MAAM,GAAG,CAAC;aACX;YACD,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAe,SAAS;QACzC,IACE,MAAM,YAAY,IAAI,CAAC,MAAM;YAC7B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS;YAC7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAC3C;YACA,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACxB;YACD,OAAU,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAe,SAAS;;QAC3C,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEhC,qCAAqC;QACrC,MAAM,MAAC,IAAI,CAAC,kBAAkB,MAA9B,MAAM,OAA8B,IAAI,IAAI,EAAE,EAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAE3C,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAkB;YAChD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,8BAA8B;QAC9B,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAmB;YAClD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QAExB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,MAAkB,EAClB,UAAU,GAAG,IAAI,EACjB,cAA8B,EAC9B,cAAoB;QAEpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,KAAQ,EAAE,cAAuB,EAAE,SAAe,EAAE,GAAY;QACnF,IAAI,cAAc,EAAE;YAClB,qCAAqC;YACrC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE;gBAC7D,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;aAC5F;SACF;IACH,CAAC;IAED;;;;;;OAMG;IACH,8BAA8B,CAC5B,KAAQ,EACR,UAAkB,EAClB,cAAuB,EACvB,SAAe,EACf,KAAc;QAEd,qCAAqC;QACrC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,iDAAiD;YACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChE,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;SACF;aAAM,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE;YAC9E,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,UAAU,IAAI,KAAK,KAAK,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC;SAC7G;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,OAAY,EAAE,cAAc,EAAE,SAAS;QAC1E,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,wBAAwB,EAAE;gBAC3C,OAAO,KAAK,CAAC;aACd;YACD,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,8BAA8B,CAClC,KAAQ,EACR,IAAY,EACZ,IAAS,EACT,UAAgB,EAChB,KAAc,EACd,kBAAwB,EACxB,uBAAgC;QAEhC,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACrG,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACtB;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;SAC3B;QACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,MAAW,EACX,UAAU,GAAG,IAAI,EACjB,OAAO,GAAG,KAAK,EACf,cAA8B,EAC9B,cAAoB;QAEpB,cAAc;QACd,IAAI,KAAK,CAAC;QACV,IAAI,MAAM,CAAC;QACX,4CAA4C;QAC5C,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,IAAI,UAAU,EAAE;YAC/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE;oBACrD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC7C;aACF;SACF;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC9D,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;YACtF,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACvE;QACD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,YAAY,SAAS,EAAE;YAC/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAClC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAQ,CAAC;QACb,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,cAAc,KAAd,cAAc,GAAK,IAAI,CAAC,gBAAgB,EAAC;YACzC,cAAc,KAAd,cAAc,GAAK,IAAI,CAAC,cAAc,CAAC,EAAC;SACzC;QACD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,WAAW,EAAE,MAAM,CAC5B,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC3B,IAAI,CAAC,gBAAgB,CACtB,CAAC;YACF,GAAG,GAAG,MAAM,CAAC;SACd;aAAM;YACL,wBAAwB;YACxB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC7E;YACD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAC1F,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,CAC7B,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC3B,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;QACD,iBAAiB;QACjB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACjB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;YACpB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACvB;QACD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;gBACxC,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACnC,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;SACJ;QAED,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,SAAiB,EAAE,kBAAwB,EAAE,uBAAgC;QAC/G,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;YACpE,SAAS,EAAE,IAAI;YACf,cAAc,EAAE;gBACd,eAAe,EAAE,SAAS;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,GAAc,EAAE,KAAa;QAC/C,kDAAkD;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,GAAe,EACf,cAAoB,EACpB,mBAA4B,EAC5B,OAAgB,KAAK;QAErB,cAAc;QACd,IAAI,SAAY,CAAC;QACjB,qCAAqC;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,SAAS,GAAG,GAAG,CAAC;SACjB;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnB,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC3B,OAAO;aACR;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACnE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,iCAAiC,CAAC,CAAC;gBAClE,OAAO;aACR;YACD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACvC;QAED,wCAAwC;QACxC,IAAI,cAAc,EAAE;YAClB,IAAI,SAAS,CAAC,mBAAmB,CAAC,KAAK,cAAc,EAAE;gBACrD,MAAM,IAAI,wBAAwB,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;aAC9F;SACF;QACD,gBAAgB;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAoB;YACpD,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;QAE5B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,MAAM,CACf;gBACE,SAAS,EAAE,IAAI;aAChB,EACD,SAAS,CAAC,OAAO,EAAE,CACpB,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,EAAE,MAAM,CAC5B;gBACE,SAAS,EAAE,IAAI;aAChB,EACD,SAAS,CAAC,OAAO,EAAE,CACpB,CAAC;SACH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,8BAA8B;YAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC;SAC3F;QAED,kBAAkB;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAqB;YACtD,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,GAAW,EAAE,SAAqB;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,MAAM,GAA2B,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;YACpB,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC7E,SAAS;aACV;YACD,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACvB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAS;QAC/B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAe,SAAS,EAAE,eAAoB,SAAS;QAC5E,cAAc;QACd,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAChE;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAChE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,iCAAiC,CAAC,CAAC;YAClE,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAiB;YAC9C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAgB,EAAE,KAAU;QAC1D,IAAI,KAAK,GAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY,CAAC,KAAoB,EAAE,KAAe;QAChE,IAAI,MAAM,GAAuB;YAC/B,OAAO,EAAE,EAAE;YACX,iBAAiB,EAAE,SAAS;YAC5B,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;QACtD,IAAI,cAAc,GAAG,MAAM,CAAC;QAE5B,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACzC,MAAM,GAAG,CAAC,CAAC;YACX,kDAAkD;YAClD,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;SACjC;QACD,6BAA6B;QAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,KAAK,EAAE,CAAC;YACR,eAAe;YACf,IAAI,MAAM,IAAI,KAAK,EAAE;gBACnB,SAAS;aACV;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACjC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE;oBAClC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC5C,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QAED,WAAW;QACX,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACzC,sBAAsB;YACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,EAAE,IAAI,CAAC;gBACf,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjC,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnF,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnF,IAAI,IAAI,KAAK,IAAI,EAAE;wBACjB,SAAS;qBACV;oBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;qBAC1C;oBACD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;iBACxC;gBACD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC;YACpF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;gBACxC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;aACtE;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;QACpB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SAC5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IAsCG,AAAN,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI;YACF,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAClC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,GAAG,CAAC;SACX;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAC3E,MAAM,GAAG,CAAC;SACX;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAuB;YAC1D,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,IAAI,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5C,MAAM,GAAG,CAAC;SACX;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAoB;YACpD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAsB;YACxD,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAY;QACjC,IAAI,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAoB;YACpD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAsB;YACxD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IA8CG,AAAN,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAC7B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,GAAG,CAAC;QAC3C,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,OAAO,EAAE;YAChD,IAAI;gBACF,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,GAAG,CAAC;aACX;YACD,IAAI,YAAY,GAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,8CAA8C;YAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;iBAC5B,OAAO,CAAC,CAAC,CAAC,EAAE;gBACX,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACL,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC/B,MAAM,GAAG,SAAS,CAAC;SACpB;aAAM;YACL,IAAI,YAAY,GAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,6BAA6B;YAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC9B,OAAO,CAAC,CAAC,CAAC,EAAE;gBACX,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YACL,IAAI;gBACF,MAAM,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACxC,MAAM,GAAG,CAAC;aACX;YAED,sBAAsB;YACtB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC1C;QACD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAuB;YAC1D,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAuBG,AAAN,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;YACpE,OAAO,EAAE,GAAG;YACZ,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5C,MAAM,GAAG,CAAC;SACX;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAoB;YACpD,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IAmBG,AAAN,KAAK,CAAC,SAAS,CAAC,GAAY;QAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,GAAG,CAAC;QAC3C,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,4HAA4H;QAC5H,yDAAyD;QACzD,gGAAgG;QAChG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAuB;YAC1D,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CAoFF;AAvWO;IArCL,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;QAC3B,IAAI,EAAE;YACJ,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,2BAA2B;YACpC,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,MAAM,EAAE;4BACN,IAAI,EAAE,mCAAmC;yBAC1C;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB;oBAC7B,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,mCAAmC;6BAC1C;yBACF;qBACF;iBACF;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,mBAAmB;iBACjC;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,uBAAuB;iBACrC;aACF;SACF;KACF,CAAC;uCAuBD;AAyGK;IA7CL,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE;QAC1C,GAAG,EAAE;YACH,WAAW,EAAE,gDAAgD;YAC7D,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE;gBACP,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,cAAc;aACvB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,mBAAmB;iBACjC;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB;iBAC9B;aACF;SACF;QACD,KAAK,EAAE;YACL,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE;gBACP,KAAK,EAAE,cAAc;aACtB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,EAAE;iBAChB;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,mBAAmB;iBACjC;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB;iBAC9B;aACF;SACF;KACF,CAAC;uCAqDD;AA6BK;IAtBL,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;QACjC,GAAG,EAAE;YACH,WAAW,EAAE,kDAAkD;YAC/D,OAAO,EAAE,yBAAyB;YAClC,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;aACvB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,mBAAmB;iBACjC;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB;iBAC9B;aACF;SACF;KACF,CAAC;oCAoBD;AA0BK;IAlBL,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE;QACpC,MAAM,EAAE;YACN,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,uBAAuB;YAChC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,EAAE;iBAChB;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB;iBAC9B;aACF;SACF;KACF,CAAC;sCAgBD;AA6FH,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
@@ -59,5 +59,7 @@ declare abstract class StoreTest extends WebdaTest {
59
59
  update(delay?: number): Promise<void>;
60
60
  upsertItem(): Promise<void>;
61
61
  put(): Promise<void>;
62
+ httpCRUD(url?: string): Promise<void>;
63
+ modelActions(url?: string): Promise<void>;
62
64
  }
63
65
  export { StoreTest };