@memberjunction/core 1.3.3 → 1.4.1

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 (61) hide show
  1. package/dist/generic/applicationInfo.d.ts +15 -1
  2. package/dist/generic/applicationInfo.d.ts.map +1 -1
  3. package/dist/generic/applicationInfo.js +25 -2
  4. package/dist/generic/applicationInfo.js.map +1 -1
  5. package/dist/generic/baseEngine.d.ts +56 -0
  6. package/dist/generic/baseEngine.d.ts.map +1 -0
  7. package/dist/generic/baseEngine.js +82 -0
  8. package/dist/generic/baseEngine.js.map +1 -0
  9. package/dist/generic/baseEntity.d.ts +99 -9
  10. package/dist/generic/baseEntity.d.ts.map +1 -1
  11. package/dist/generic/baseEntity.js +178 -79
  12. package/dist/generic/baseEntity.js.map +1 -1
  13. package/dist/generic/baseInfo.d.ts +2 -0
  14. package/dist/generic/baseInfo.d.ts.map +1 -1
  15. package/dist/generic/baseInfo.js +27 -3
  16. package/dist/generic/baseInfo.js.map +1 -1
  17. package/dist/generic/compositeKey.d.ts +133 -0
  18. package/dist/generic/compositeKey.d.ts.map +1 -0
  19. package/dist/generic/compositeKey.js +283 -0
  20. package/dist/generic/compositeKey.js.map +1 -0
  21. package/dist/generic/entityInfo.d.ts +33 -8
  22. package/dist/generic/entityInfo.d.ts.map +1 -1
  23. package/dist/generic/entityInfo.js +64 -19
  24. package/dist/generic/entityInfo.js.map +1 -1
  25. package/dist/generic/interfaces.d.ts +35 -81
  26. package/dist/generic/interfaces.d.ts.map +1 -1
  27. package/dist/generic/interfaces.js +32 -182
  28. package/dist/generic/interfaces.js.map +1 -1
  29. package/dist/generic/libraryInfo.d.ts +39 -0
  30. package/dist/generic/libraryInfo.d.ts.map +1 -0
  31. package/dist/generic/libraryInfo.js +55 -0
  32. package/dist/generic/libraryInfo.js.map +1 -0
  33. package/dist/generic/logging.d.ts +43 -0
  34. package/dist/generic/logging.d.ts.map +1 -1
  35. package/dist/generic/logging.js +73 -1
  36. package/dist/generic/logging.js.map +1 -1
  37. package/dist/generic/metadata.d.ts +28 -9
  38. package/dist/generic/metadata.d.ts.map +1 -1
  39. package/dist/generic/metadata.js +52 -16
  40. package/dist/generic/metadata.js.map +1 -1
  41. package/dist/generic/providerBase.d.ts +33 -28
  42. package/dist/generic/providerBase.d.ts.map +1 -1
  43. package/dist/generic/providerBase.js +119 -185
  44. package/dist/generic/providerBase.js.map +1 -1
  45. package/dist/generic/transactionGroup.d.ts +38 -1
  46. package/dist/generic/transactionGroup.d.ts.map +1 -1
  47. package/dist/generic/transactionGroup.js +38 -14
  48. package/dist/generic/transactionGroup.js.map +1 -1
  49. package/dist/generic/util.d.ts +4 -0
  50. package/dist/generic/util.d.ts.map +1 -1
  51. package/dist/generic/util.js +15 -1
  52. package/dist/generic/util.js.map +1 -1
  53. package/dist/index.d.ts +2 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/views/runView.d.ts +7 -1
  58. package/dist/views/runView.d.ts.map +1 -1
  59. package/dist/views/runView.js +31 -1
  60. package/dist/views/runView.js.map +1 -1
  61. package/package.json +3 -2
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseEntity = exports.BaseEntityAIActionParams = exports.DataObjectParams = exports.DataObjectRelatedEntityParam = exports.EntityField = void 0;
3
+ exports.BaseEntity = exports.BaseEntityEvent = exports.BaseEntityResult = exports.BaseEntityAIActionParams = exports.DataObjectParams = exports.DataObjectRelatedEntityParam = exports.EntityField = void 0;
4
4
  const global_1 = require("@memberjunction/global");
5
5
  const entityInfo_1 = require("./entityInfo");
6
6
  const interfaces_1 = require("./interfaces");
7
7
  const metadata_1 = require("./metadata");
8
8
  const runView_1 = require("../views/runView");
9
9
  const logging_1 = require("./logging");
10
+ const compositeKey_1 = require("./compositeKey");
11
+ const rxjs_1 = require("rxjs");
10
12
  /**
11
- * Represents a field in an entity. This class is used to store the value of the field, dirty state, as well as other run-time information about the field. The class encapsulates the underlying field metadata and exposes some of the more commonly
13
+ * Represents a field in an instance of the BaseEntity class. This class is used to store the value of the field, dirty state, as well as other run-time information about the field. The class encapsulates the underlying field metadata and exposes some of the more commonly
12
14
  * used properties from the entity field metadata.
13
15
  */
14
16
  class EntityField {
@@ -229,6 +231,28 @@ exports.DataObjectParams = DataObjectParams;
229
231
  class BaseEntityAIActionParams {
230
232
  }
231
233
  exports.BaseEntityAIActionParams = BaseEntityAIActionParams;
234
+ /**
235
+ * Used for storing the result of a Save or Delete or other transactional operation within a BaseEntity
236
+ */
237
+ class BaseEntityResult {
238
+ constructor() {
239
+ /**
240
+ * A copy of the values of the entity object BEFORE the operation was performed
241
+ */
242
+ this.OriginalValues = [];
243
+ /**
244
+ * A copy of the values of the entity object AFTER the operation was performed
245
+ */
246
+ this.NewValues = [];
247
+ }
248
+ }
249
+ exports.BaseEntityResult = BaseEntityResult;
250
+ /**
251
+ * Event type that is used to raise events and provided structured callbacks for any caller that is interested in registering for events.
252
+ */
253
+ class BaseEntityEvent {
254
+ }
255
+ exports.BaseEntityEvent = BaseEntityEvent;
232
256
  /**
233
257
  * Base class used for all entity objects. This class is abstract and is sub-classes for each particular entity using the CodeGen tool. This class provides the basic functionality for loading, saving, and validating entity objects.
234
258
  */
@@ -238,15 +262,41 @@ class BaseEntity {
238
262
  this._recordLoaded = false;
239
263
  this._contextCurrentUser = null;
240
264
  this._transactionGroup = null;
265
+ this._resultHistory = [];
266
+ this._compositeKey = null;
267
+ this._eventSubject = new rxjs_1.Subject();
241
268
  this._EntityInfo = Entity;
242
269
  this.init();
243
270
  }
271
+ /**
272
+ * This method can be used to register a callback for events that will be raised by the instance of the BaseEntity object. The callback will be called with a
273
+ * BaseEntityEvent object that contains the type of event and any payload that is associated with the event. Subclasses of the BaseEntity can define their
274
+ * own event types and payloads as needed.
275
+ * @param callback
276
+ * @returns
277
+ */
278
+ RegisterEventHandler(callback) {
279
+ return this._eventSubject.asObservable().subscribe(callback);
280
+ }
281
+ /**
282
+ * Used for raising events within the BaseEntity and can be used by sub-classes to raise events that are specific to the entity.
283
+ */
284
+ RaiseEvent(type, payload) {
285
+ this._eventSubject.next({ type: type, payload: payload, baseEntity: this });
286
+ }
287
+ /**
288
+ * This method MUST be called right after the class is instantiated to provide an async/await pair for any asynchronous operations a given entity needs to do when it is first
289
+ * created/configured. When you call Metadata/Provider GetEntityObject() this is done automatically for you. In nearly all cases you should go through GetEntityObject() anyway
290
+ * and not ever directly instantiate a BaseEntity derived class.
291
+ */
292
+ async Config(contextUser) {
293
+ this.ContextCurrentUser = contextUser;
294
+ }
244
295
  /**
245
296
  * Returns true if the record has been saved to the database, false otherwise. This is a useful property to check to determine if the record is a "New Record" or an existing one.
246
297
  */
247
298
  get IsSaved() {
248
- const v = this.PrimaryKey?.Value;
249
- return v !== null && v !== undefined; // if the primary key (or first primary key) value is null/undefined, we haven't saved yet
299
+ return this.PrimaryKey.HasValue;
250
300
  }
251
301
  /**
252
302
  * Transaction Groups are used to group multiple transactions into a single ATOMic transaction in a database. They are also useful even in situations with ATOMicity is less important but you want
@@ -258,6 +308,21 @@ class BaseEntity {
258
308
  set TransactionGroup(group) {
259
309
  this._transactionGroup = group;
260
310
  }
311
+ /**
312
+ * The result history shows the history of the attempted transactions (Save and Delete) for this particular entity object. This is useful for tracking the results of operations on the entity object.
313
+ */
314
+ get ResultHistory() {
315
+ return this._resultHistory;
316
+ }
317
+ /**
318
+ * Returns the most recent result from the result history. If there are no results in the history, this method will return null.
319
+ */
320
+ get LatestResult() {
321
+ if (this._resultHistory.length > 0)
322
+ return this._resultHistory[this._resultHistory.length - 1];
323
+ else
324
+ return null;
325
+ }
261
326
  /**
262
327
  * Access to the underlying metadata for the entity object.
263
328
  */
@@ -275,19 +340,11 @@ class BaseEntity {
275
340
  GetFieldByName(fieldName) {
276
341
  return this.Fields.find(f => f.Name.trim().toLowerCase() == fieldName.trim().toLowerCase());
277
342
  }
278
- get Dirty() {
279
- return !this.IsSaved || this.Fields.some(f => f.Dirty);
280
- }
281
343
  /**
282
- * Returns the primary key field for the entity. If the entity has a composite primary key, this method will return the first primary key field.
344
+ * Returns true if the object is Dirty, meaning something has changed since it was last saved to the database, and false otherwise. For new records, this will always return true.
283
345
  */
284
- get PrimaryKey() {
285
- const fieldInfo = this.EntityInfo.PrimaryKey;
286
- if (fieldInfo) {
287
- return this.GetFieldByName(fieldInfo.Name);
288
- }
289
- else
290
- return null;
346
+ get Dirty() {
347
+ return !this.IsSaved || this.Fields.some(f => f.Dirty);
291
348
  }
292
349
  /**
293
350
  * Returns an array of all primary key fields for the entity. If the entity has a composite primary key, this method will return an array of all primary key fields.
@@ -296,10 +353,22 @@ class BaseEntity {
296
353
  get PrimaryKeys() {
297
354
  return this.EntityInfo.PrimaryKeys.map(pk => this.GetFieldByName(pk.Name));
298
355
  }
299
- get CompositeKey() {
300
- const ck = new interfaces_1.CompositeKey();
301
- ck.LoadFromEntityFields(this.PrimaryKeys);
302
- return ck;
356
+ /**
357
+ * Returns the primary key for the record. The CompositeKey class is a multi-valued key that can have any number of key/value pairs within it. Always traverse the full
358
+ * set of key/value pairs to get the full primary key for the record.
359
+ */
360
+ get PrimaryKey() {
361
+ if (this._compositeKey === null) {
362
+ this._compositeKey = new compositeKey_1.CompositeKey();
363
+ this._compositeKey.LoadFromEntityFields(this.PrimaryKeys);
364
+ }
365
+ return this._compositeKey;
366
+ }
367
+ /**
368
+ * Helper method to return just the first Primary Key
369
+ */
370
+ get FirstPrimaryKey() {
371
+ return this.PrimaryKeys[0];
303
372
  }
304
373
  /**
305
374
  * Returns true if the record has been loaded from the database, false otherwise. This is useful to check to see if the record is in a "New Record" state or not.
@@ -463,6 +532,8 @@ class BaseEntity {
463
532
  return null;
464
533
  }
465
534
  init() {
535
+ this._compositeKey = null;
536
+ this._resultHistory = [];
466
537
  this._recordLoaded = false;
467
538
  this._Fields = [];
468
539
  if (this.EntityInfo)
@@ -507,10 +578,18 @@ class BaseEntity {
507
578
  }
508
579
  /**
509
580
  * This method will create a new state for the object that is equivalent to a new record including default values.
581
+ * @param newValues - optional parameter to set the values of the fields to something other than the default values. The expected parameter is an object that has properties that map to field names in this entity.
582
+ * This is the same as creating a NewRecord and then using SetMany(), but it is a convenience/helper approach.
510
583
  * @returns
511
584
  */
512
- NewRecord() {
585
+ NewRecord(newValues) {
513
586
  this.init();
587
+ if (newValues) {
588
+ newValues.KeyValuePairs.filter(kv => kv.Value !== null && kv.Value !== undefined).forEach(kv => {
589
+ this.Set(kv.FieldName, kv.Value);
590
+ });
591
+ }
592
+ this.RaiseEvent('new_record', null);
514
593
  return true;
515
594
  }
516
595
  /**
@@ -519,32 +598,54 @@ class BaseEntity {
519
598
  * @returns
520
599
  */
521
600
  async Save(options) {
522
- const _options = options ? options : new interfaces_1.EntitySaveOptions();
523
- const type = this.IsSaved ? entityInfo_1.EntityPermissionType.Update : entityInfo_1.EntityPermissionType.Create;
524
- this.CheckPermissions(type, true); // this will throw an error and exit out if we don't have permission
525
- if (_options.IgnoreDirtyState || this.Dirty) {
526
- if (BaseEntity.Provider == null) {
527
- throw new Error('No provider set');
528
- }
529
- else {
530
- const valResult = this.Validate();
531
- if (valResult.Success) {
532
- const data = await BaseEntity.Provider.Save(this, this.ActiveUser, _options);
533
- if (data) {
534
- this.init(); // wipe out the current data to flush out the DIRTY flags, load the ID as part of this too
535
- this.SetMany(data);
536
- return true;
537
- }
538
- else
539
- return false;
601
+ const currentResultCount = this.ResultHistory.length;
602
+ const newResult = new BaseEntityResult();
603
+ newResult.StartedAt = new Date();
604
+ try {
605
+ const _options = options ? options : new interfaces_1.EntitySaveOptions();
606
+ const type = this.IsSaved ? entityInfo_1.EntityPermissionType.Update : entityInfo_1.EntityPermissionType.Create;
607
+ this.CheckPermissions(type, true); // this will throw an error and exit out if we don't have permission
608
+ if (_options.IgnoreDirtyState || this.Dirty) {
609
+ if (BaseEntity.Provider == null) {
610
+ throw new Error('No provider set');
540
611
  }
541
612
  else {
542
- throw valResult; // pass this along to the caller
613
+ const valResult = this.Validate();
614
+ if (valResult.Success) {
615
+ const data = await BaseEntity.Provider.Save(this, this.ActiveUser, _options);
616
+ if (data) {
617
+ this.init(); // wipe out the current data to flush out the DIRTY flags, load the ID as part of this too
618
+ this.SetMany(data);
619
+ const result = this.LatestResult;
620
+ if (result)
621
+ result.NewValues = this.Fields.map(f => { return { FieldName: f.CodeName, Value: f.Value }; }); // set the latest values here
622
+ this.RaiseEvent('save', null);
623
+ return true;
624
+ }
625
+ else
626
+ return false;
627
+ }
628
+ else {
629
+ throw valResult; // pass this along to the caller
630
+ }
543
631
  }
544
632
  }
633
+ else
634
+ return true; // nothing to save since we're not dirty
635
+ }
636
+ catch (e) {
637
+ if (currentResultCount === this.ResultHistory.length) {
638
+ // this means that NO new results were added to the history anywhere
639
+ // so we need to add a new result to the history here
640
+ newResult.Success = false;
641
+ newResult.Type = this.IsSaved ? 'update' : 'create';
642
+ newResult.Message = e.message;
643
+ newResult.OriginalValues = this.Fields.map(f => { return { FieldName: f.CodeName, Value: f.OldValue }; });
644
+ newResult.EndedAt = new Date();
645
+ this.ResultHistory.push(newResult);
646
+ }
647
+ return false;
545
648
  }
546
- else
547
- return true; // nothing to save since we're not dirty
548
649
  }
549
650
  /**
550
651
  * Internal helper method for the class and sub-classes - used to easily get the Active User which is either the ContextCurrentUser, if defined, or the Metadata.Provider.CurrentUser if not.
@@ -617,7 +718,9 @@ class BaseEntity {
617
718
  }
618
719
  else {
619
720
  const start = new Date().getTime();
620
- this.ValidateCompositeKey(CompositeKey);
721
+ const valResult = CompositeKey.Validate();
722
+ if (!valResult || !valResult.IsValid)
723
+ throw new Error(`Invalid CompositeKey passed to BaseEntity.Load(${this.EntityInfo.Name})`);
621
724
  this.CheckPermissions(entityInfo_1.EntityPermissionType.Read, true); // this will throw an error and exit out if we don't have permission
622
725
  if (!this.IsSaved) {
623
726
  this.init(); // wipe out current data if we're loading on top of existing record
@@ -637,33 +740,10 @@ class BaseEntity {
637
740
  }
638
741
  }
639
742
  this._recordLoaded = true;
640
- // const end = new Date().getTime();
641
- // const time = end - start;
642
- // LogStatus(`BaseEntity.Load(${this.EntityInfo.Name}, ID: ${ID}, EntityRelationshipsToLoad.length: ${EntityRelationshipsToLoad ? EntityRelationshipsToLoad.length : 0 }), took ${time}ms`);
743
+ this._compositeKey = CompositeKey; // set the composite key to the one we just loaded
643
744
  return true;
644
745
  }
645
746
  }
646
- ValidateCompositeKey(compositeKey) {
647
- // make sure that KeyValuePairs is an array of 1+ objects, and that each object has a FieldName and Value property and that the FieldName is a valid field on the entity that has IsPrimaryKey set to true
648
- if (!compositeKey || !compositeKey.KeyValuePairs || compositeKey.KeyValuePairs.length === 0)
649
- throw new Error('KeyValuePairs cannot be null or empty');
650
- else {
651
- // now loop through the array and make sure each object has a FieldName and Value property
652
- // and that the field name is a valid field on the entity that has IsPrimaryKey set to true
653
- for (let i = 0; i < compositeKey.KeyValuePairs.length; i++) {
654
- const pk = compositeKey.KeyValuePairs[i];
655
- if (!pk.FieldName || pk.FieldName.trim().length === 0)
656
- throw new Error(`KeyValuePairs[${i}].FieldName cannot be null, empty, or whitespace`);
657
- if (pk.Value === null || pk.Value === undefined)
658
- throw new Error(`KeyValuePairs[${i}].Value cannot be null or undefined`);
659
- const field = this.Fields.find(f => f.Name.trim().toLowerCase() === pk.FieldName.trim().toLowerCase());
660
- if (!field)
661
- throw new Error(`KeyValuePairs[${i}].FieldName of ${pk.FieldName} does not exist on ${this.EntityInfo.Name}`);
662
- if (!field.IsPrimaryKey)
663
- throw new Error(`KeyValuePairs[${i}].FieldName of ${pk.FieldName} is not a primary key field on ${this.EntityInfo.Name}`);
664
- }
665
- }
666
- }
667
747
  /**
668
748
  * This method is meant to be used only in situations where you are sure that the data you are loading is current in the database. MAKE SURE YOU ARE PASSING IN ALL FIELDS.
669
749
  * The Dirty flags and other internal state will assume what is loading from the data parameter you pass in is equivalent to what is in the database. Generally speaking, you should use Load() instead of this method. The main use case(s) where this makes sense are:
@@ -698,20 +778,39 @@ class BaseEntity {
698
778
  * This method deletes a record from the database. You must call Load() first in order to load the context of the record you are deleting.
699
779
  * @returns
700
780
  */
701
- async Delete() {
702
- if (BaseEntity.Provider == null) {
703
- throw new Error('No provider set');
781
+ async Delete(options) {
782
+ const currentResultCount = this.ResultHistory.length;
783
+ const newResult = new BaseEntityResult();
784
+ newResult.StartedAt = new Date();
785
+ try {
786
+ if (BaseEntity.Provider == null) {
787
+ throw new Error('No provider set');
788
+ }
789
+ else {
790
+ this.CheckPermissions(entityInfo_1.EntityPermissionType.Delete, true); // this will throw an error and exit out if we don't have permission
791
+ if (await BaseEntity.Provider.Delete(this, options, this.ActiveUser)) {
792
+ // record deleted correctly
793
+ // wipe out the current data to flush out the DIRTY flags by calling NewRecord()
794
+ this.RaiseEvent('delete', null);
795
+ this.NewRecord(); // will trigger a new record event here too
796
+ return true;
797
+ }
798
+ else // record didn't save, return false, but also don't wipe out the entity like we do if the Delete() worked
799
+ return false;
800
+ }
704
801
  }
705
- else {
706
- this.CheckPermissions(entityInfo_1.EntityPermissionType.Delete, true); // this will throw an error and exit out if we don't have permission
707
- if (await BaseEntity.Provider.Delete(this, this.ActiveUser)) {
708
- // record deleted correctly
709
- // wipe out the current data to flush out the DIRTY flags by calling NewRecord()
710
- this.NewRecord();
711
- return true;
802
+ catch (e) {
803
+ if (currentResultCount === this.ResultHistory.length) {
804
+ // this means that NO new results were added to the history anywhere
805
+ // so we need to add a new result to the history here
806
+ newResult.Success = false;
807
+ newResult.Type = 'delete';
808
+ newResult.Message = e.message;
809
+ newResult.OriginalValues = this.Fields.map(f => { return { FieldName: f.CodeName, Value: f.OldValue }; });
810
+ newResult.EndedAt = new Date();
811
+ this.ResultHistory.push(newResult);
712
812
  }
713
- else // record didn't save, return false, but also don't wipe out the entity like we do if the Delete() worked
714
- return false;
813
+ return false;
715
814
  }
716
815
  }
717
816
  /**
@@ -746,7 +845,7 @@ class BaseEntity {
746
845
  */
747
846
  get RecordChanges() {
748
847
  if (this.IsSaved) {
749
- return BaseEntity.GetRecordChanges(this.EntityInfo.Name, this.CompositeKey);
848
+ return BaseEntity.GetRecordChanges(this.EntityInfo.Name, this.PrimaryKey);
750
849
  }
751
850
  else {
752
851
  throw new Error('Cannot get record changes for a record that has not been saved yet');
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.js","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.js","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAClD,6CAAiL;AACjL,6CAA2F;AAC3F,yCAAsC;AACtC,8CAA2C;AAG3C,uCAAqC;AACrC,iDAAkF;AAClF,+BAA6C;AAE7C;;;GAGG;AACH,MAAa,WAAW;IAMpB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAA;IACvC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAU;QAChB,IACM,CAAC,IAAI,CAAC,QAAQ;YACd,IAAI,CAAC,SAAS,CAAE;wHACgG,EAChH,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,4LAA4L;YAC5L,IAAI,IAAI,CAAC,SAAS;gBACd,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC9C,oBAAoB;gBACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,QAAQ;YACb,OAAO,KAAK,CAAA;aACX,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kGAAkG;YACzM,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/F,IAAI,OAAO,IAAI,OAAO;gBAClB,OAAO,KAAK,CAAC,CAAC,wCAAwC;iBACrD,CAAC;gBACF,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE5B,IAAI,IAAI,CAAC,SAAS,YAAY,IAAI,EAAE,CAAC;oBACjC,8FAA8F;oBAC9F,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC1C,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC7B,yFAAyF;oBACzF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAED,OAAO,UAAU,KAAK,UAAU,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,WAAmB,CAAC,EAAE,WAAmB,KAAK;QAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,6BAAgB,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,iBAAiB;QACxC,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YACrC,mJAAmJ;YACnJ,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;gBACtE,uFAAuF;gBACvF,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnG,gDAAgD;oBAChD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gCAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzG,CAAC;qBACI,CAAC;oBACF,qJAAqJ;oBACrJ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC1D,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;wBACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gCAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;oBACzG,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,IAAI,8BAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;gBAC9G,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gCAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,0BAA0B,EAAE,CAAC,SAAS,iCAAiC,IAAI,CAAC,KAAK,CAAC,MAAM,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACnM,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,IAAI,8BAAiB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,EAAG,CAAC;gBAC7H,6FAA6F;gBAC7F,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gCAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,4BAA4B,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtI,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,YAAY,SAA0B,EAAE,KAAW;QAtJ3C,cAAS,GAAY,IAAI,CAAC;QAuJ9B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,KAAK;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aAClB,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,8BAAiB,CAAC,OAAO,EAAE,CAAC;gBACjD,8GAA8G;gBAC9G,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;oBAC7I,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;oBAElB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,CAAC;iBACI,IAAI,SAAS,CAAC,MAAM,KAAK,8BAAiB,CAAC,MAAM,EAAE,CAAC;gBACrD,iGAAiG;gBACjG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;iBACI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;gBAClE,4HAA4H;gBAC5H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC;iBACI,IAAI,SAAS,CAAC,MAAM,KAAK,8BAAiB,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,gIAAgI;oBAChI,IAAI,CAAC;wBACD,iDAAiD;wBACjD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBAC9C,6FAA6F;wBAC7F,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BACxB,6CAA6C;4BAC7C,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,wHAAwH;wBAC/I,CAAC;;4BAEG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAC1B,CAAC;oBACD,OAAO,CAAC,EAAE,CAAC;wBACP,uIAAuI;wBACvI,kIAAkI;wBAClI,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC5I,mHAAmH;4BACnH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;wBACtB,CAAC;6BACI,CAAC;4BACF,kHAAkH;4BAClH,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,YAAY,mFAAmF,CAAC,CAAC;wBACrM,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,sIAAsI;QACjK,CAAC;aACI,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,kGAAkG;YACrH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,kEAAkE;QAC7F,CAAC;IACL,CAAC;IAED;;OAEG;IACI,aAAa;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAnOD,kCAmOC;AAED,MAAa,4BAA4B;CAIxC;AAJD,oEAIC;AACD,MAAa,gBAAgB;IAA7B;QACI,cAAS,GAAY,KAAK,CAAA;QAC1B,mBAAc,GAAY,IAAI,CAAA;QAC9B,qBAAgB,GAAY,IAAI,CAAA;QAChC,kBAAa,GAAa,IAAI,CAAA;QAC9B,6BAAwB,GAAY,IAAI,CAAA;QACxC,sBAAiB,GAAmC,IAAI,CAAA;IAC5D,CAAC;CAAA;AAPD,4CAOC;AAED,MAAa,wBAAwB;CAOpC;AAPD,4DAOC;AAED;;GAEG;AACH,MAAa,gBAAgB;IAA7B;QAiBI;;WAEG;QACH,mBAAc,GAAsC,EAAE,CAAC;QACvD;;WAEG;QACH,cAAS,GAAsC,EAAE,CAAC;IAUtD,CAAC;CAAA;AAlCD,4CAkCC;AAED;;GAEG;AACH,MAAa,eAAe;CAI3B;AAJD,0CAIC;AAED;;GAEG;AACH,MAAsB,UAAU;IAS5B,YAAY,MAAkB;QAPtB,YAAO,GAAkB,EAAE,CAAC;QAC5B,kBAAa,GAAY,KAAK,CAAC;QAC/B,wBAAmB,GAAa,IAAI,CAAC;QACrC,sBAAiB,GAAyB,IAAI,CAAC;QAE/C,mBAAc,GAAuB,EAAE,CAAC;QA2GxC,kBAAa,GAAiB,IAAI,CAAC;QAxGvC,IAAI,CAAC,aAAa,GAAG,IAAI,cAAO,EAAmB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,QAA0C;QAClE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,IAAgD,EAAE,OAAY;QAC/E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,WAAqB;QACrC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,gBAAgB,CAAC,KAA2B;QAC5C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACnB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;YAE3D,OAAO,IAAI,CAAC;IACpB,CAAC;IAGD;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAChG,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAGD;;;OAGG;IACH,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAY,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAiB,EAAE,KAAU;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAClG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,SAAiB;QACxB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAClG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,yEAAyE;YACzE,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,8BAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAG,CAAC;gBAClI,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,MAAW,EAAE,0BAAmC,KAAK;QAChE,IAAI,CAAC,MAAM;YACP,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAExF,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjF,0DAA0D;gBAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,CAAC;iBACI,CAAC;gBACF,iGAAiG;gBACjG,wDAAwD;gBACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjG,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,CAAC;qBACI,CAAC;oBACF,+GAA+G;oBAC/G,IAAI,CAAC,uBAAuB;wBACxB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,sBAAsB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;;wBAE1E,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,sBAAsB,IAAI,CAAC,UAAU,CAAC,IAAI,4DAA4D,CAAC,CAAC;gBACzI,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,YAAqB,KAAK,EAAE,kBAA2B,KAAK;QACtE,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3D,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,8BAAiB,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;oBAClH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yCAAyC;gBAC1F,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAAC,MAAwB,EAAE,aAAsB,IAAI;QAC/E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,UAAU;YACV,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;;YAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,MAAwB;QAC/C,oCAAoC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,gGAAgG;QAChG,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI;gBACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iDAAiD;iBACjE,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC9F,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qDAAqD;iBACrE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC;QAC9D,CAAC;QAED,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YAClC,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3H,IAAI,GAAG,EAAE,CAAC;oBACN,oFAAoF;oBACpF,0FAA0F;oBAC1F,kFAAkF;oBAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBAClF,IAAI,MAAM,EAAE,CAAC;wBACT,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAC,uFAAuF;wBACvH,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;4BACrB,gGAAgG;4BAChG,sFAAsF;4BACtF,IAAI,GAAW,CAAC;4BAChB,IAAI,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa;gCACrC,GAAG,GAAG,kBAAkB,GAAG,CAAC,UAAU,qDAAqD,MAAM,CAAC,aAAa,2BAA2B,CAAC;;gCAE3I,GAAG,GAAG,OAAO,MAAM,CAAC,aAAa,yCAAyC,CAAC;4BAE/E,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,0CAA0C;4BAC5E,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,oDAAoD;wBACjH,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,EAA0B,EAAE,SAAiB,IAAI,EAAE,aAAqB,IAAI;QAC1G,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACvE,OAAO,GAAG,EAAE,IAAI,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,EAA0B,EAAE,SAAiB,IAAI,EAAE,aAAqB,IAAI;QAC7G,2DAA2D;QAC3D,MAAM,MAAM,GAAG,uBAAU,CAAC,2BAA2B,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QACnF,MAAM,EAAE,GAAG,IAAI,iBAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACjE,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,aAAa,EAAE,MAAM,CAAC,aAAa;aACtC,CAAC;QACN,CAAC;;YAEG,OAAO,IAAI,CAAC;IACpB,CAAC;IAEO,IAAI;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,UAAU;YACf,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,CAAC;IACT,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,KAAiB,EAAE,qBAA8B,KAAK;QAClE,IAAI,CAAC;YACD,qHAAqH;YACrH,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,UAAU,EAAE,CAAC;wBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,kBAAQ,EAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAGD;;;;OAIG;IACH,IAAW,kBAAkB,CAAC,IAAc;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACpC,CAAC;IACD,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAGD;;;;;OAKG;IACI,SAAS,CAAC,SAAgC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC3F,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,OAA2B;QACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACzC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAsB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,8BAAiB,EAAE,CAAC;YAEhF,MAAM,IAAI,GAAyB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAoB,CAAC,MAAM,CAAC;YAC5G,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,CAAC,oEAAoE;YAEtG,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACvC,CAAC;qBACK,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;wBAC5E,IAAI,IAAI,EAAE,CAAC;4BACP,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,0FAA0F;4BACvG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;4BACjC,IAAI,MAAM;gCACN,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;4BAE9H,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;4BAC7B,OAAO,IAAI,CAAC;wBAChB,CAAC;;4BAEG,OAAO,KAAK,CAAC;oBACrB,CAAC;yBACI,CAAC;wBACF,MAAM,SAAS,CAAC,CAAC,gCAAgC;oBACrD,CAAC;gBACL,CAAC;YACL,CAAC;;gBAEG,OAAO,IAAI,CAAC,CAAC,wCAAwC;QAC7D,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,kBAAkB,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBACnD,qEAAqE;gBACrE,qDAAqD;gBACrD,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC1B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACpD,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC9B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBACvG,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAc,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,IAAI,mBAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,2HAA2H;IAChM,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAA0B,EAAE,UAAmB;QACnE,MAAM,CAAC,GAAa,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,2HAA2H,CAAC,CAAC;QAEjJ,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAY,KAAK,CAAC;QAC9B,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,iCAAoB,CAAC,MAAM;gBAC5B,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;gBACjC,MAAM;YACV,KAAK,iCAAoB,CAAC,IAAI;gBAC1B,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;gBAC/B,MAAM;YACV,KAAK,iCAAoB,CAAC,MAAM;gBAC5B,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;gBACjC,MAAM;YACV,KAAK,iCAAoB,CAAC,MAAM;gBAC5B,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;gBACjC,MAAM;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,gGAAgG;QAClH,CAAC;;YAEG,OAAO,QAAQ,CAAA;IACvB,CAAC;IAES,oBAAoB,CAAC,CAAW,EAAE,IAA0B,EAAE,qBAA6B;QACjG,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK;uDAChB,iCAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAK;qGACL,qBAAqB,CAAC,CAAC,CAAC,4BAA4B,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvL,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,SAAS,CAAC,YAA0B,EAAE,4BAAsC,IAAI;QACzF,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;aACG,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO;gBAChC,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;YAE/F,IAAI,CAAC,gBAAgB,CAAC,iCAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,oEAAoE;YAE5H,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC;gBACf,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,mEAAmE;YACpF,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,yBAAyB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5G,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAA,kBAAQ,EAAC,4BAA4B,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9F,OAAO,KAAK,CAAC,CAAC,+BAA+B;YACjD,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,yBAAyB,EAAE,CAAC;gBAC5B,KAAK,IAAI,YAAY,IAAI,yBAAyB,EAAE,CAAC;oBACjD,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBACrB,0DAA0D;wBAC1D,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,kDAAkD;YAErF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,YAAY,CAAC,IAAS;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,MAAM,MAAM,GAAG,IAAI,6BAAgB,EAAE,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,oFAAoF;QAE3G,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,oFAAoF;QACxI,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,OAA6B;QAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACzC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;iBACG,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,iCAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,oEAAoE;gBAE9H,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnE,2BAA2B;oBAC3B,gFAAgF;oBAChF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,2CAA2C;oBAC7D,OAAO,IAAI,CAAC;gBAChB,CAAC;qBACI,yGAAyG;oBAC1G,OAAO,KAAK,CAAC;YACrB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,kBAAkB,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBACnD,qEAAqE;gBACrE,qDAAqD;gBACrD,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC1B,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAA;gBACzB,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC9B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBACvG,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAGD;;;OAGG;IACI,KAAK,CAAC,oBAAoB,CAAC,MAAgC;QAC9D,OAAO,IAAI,CAAC,CAAC,sCAAsC;IAEvD,CAAC;IACD;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,MAAgC;QAC7D,OAAO,IAAI,CAAC,CAAA,sCAAsC;IACtD,CAAC;IAIM,MAAM,KAAK,QAAQ;QACtB,MAAM,CAAC,GAAG,iBAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC;YACD,OAAO,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;;YAExC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACtF,CAAC;IACM,MAAM,KAAK,QAAQ,CAAC,KAA0B;QACjD,MAAM,CAAC,GAAG,iBAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC;YACD,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;;YAEzC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,IAAI,IAAI,CAAC,OAAO,EAAC,CAAC;YACd,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9E,CAAC;aACG,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,YAA0B;QAC/E,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;aACG,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACrF,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,GAAmB,EAAE,CAAC;gBACnC,KAAK,IAAI,MAAM,IAAI,OAAO;oBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE3C,OAAO,OAAO,CAAC;YACnB,CAAC;;gBAEG,OAAO,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;;AA/qBL,gCAgrBC;AAnDkB,6BAAkB,GAAW,uBAAuB,AAAlC,CAAmC"}
@@ -4,6 +4,8 @@ export declare abstract class BaseInfo {
4
4
  */
5
5
  ID: number;
6
6
  protected copyInitData(initData: any): void;
7
+ protected stripUnicodePrefix(value: string): string;
8
+ protected stripSingleQuotes(value: string): string;
7
9
  protected stripContainingParens(value: string): string;
8
10
  }
9
11
  //# sourceMappingURL=baseInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseInfo.d.ts","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"AAAA,8BAAsB,QAAQ;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;IAkBpC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAQzD"}
1
+ {"version":3,"file":"baseInfo.d.ts","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"AAAA,8BAAsB,QAAQ;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;IAsBpC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAcnD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUlD,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAQzD"}
@@ -16,15 +16,39 @@ class BaseInfo {
16
16
  for (let j = 0; j < keys.length; j++) {
17
17
  // make sure it is one of our keys, we don't want to create NEW fields
18
18
  if (thisKeys.indexOf(keys[j]) >= 0) {
19
- if (keys[j].trim().toLowerCase() === 'defaultvalue' && initData[keys[j]])
20
- // strip parens from default value from the DB, if they exist, for example defaults might be ((1)) or (getdate())
21
- this[keys[j]] = this.stripContainingParens(initData[keys[j]]);
19
+ if (keys[j].trim().toLowerCase() === 'defaultvalue' && initData[keys[j]]) {
20
+ // strip parens from default value from the DB, if they exist, for example defaults might be ((1)) or (getdate())
21
+ // could also be something like (('Pending')) in which case we'll want to remove the SYMMETRIC parens
22
+ const noParens = this.stripContainingParens(initData[keys[j]]);
23
+ const finalValue = this.stripSingleQuotes(this.stripUnicodePrefix(noParens));
24
+ this[keys[j]] = finalValue;
25
+ }
22
26
  else
23
27
  this[keys[j]] = initData[keys[j]];
24
28
  }
25
29
  }
26
30
  }
27
31
  }
32
+ stripUnicodePrefix(value) {
33
+ if (!value)
34
+ return value;
35
+ const val = value.trim(); // trim it first
36
+ // check to see if the first character is an N and if the character after
37
+ // that as well as the last character are single quotes, if so, strip all of those out
38
+ if (value && value.toUpperCase().startsWith('N') &&
39
+ value.length > 1 && value.charAt(1) === '\'' &&
40
+ value.charAt(value.length - 1) === '\'') {
41
+ return value.substring(2, value.length - 1); // strip out the N and the single quotes for example N'Active' becomes Active
42
+ }
43
+ }
44
+ stripSingleQuotes(value) {
45
+ if (!value)
46
+ return value;
47
+ const val = value.trim(); // trim it first
48
+ // now check for symmetrical single quotes and remove them
49
+ // this is for cases like 'Pending' or 'Active' which are stored in the DB as ('Pending') or ('Active')
50
+ return val.startsWith("'") && val.endsWith("'") ? val.substring(1, val.length - 1) : val;
51
+ }
28
52
  stripContainingParens(value) {
29
53
  if (value.startsWith('(') && value.endsWith(')')) {
30
54
  // recursive call so if we have ((0)) we keep stripping parens until we get to inner value
@@ -1 +1 @@
1
- {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":";;;AAAA,MAAsB,QAAQ;IAA9B;QACI;;WAEG;QACH,OAAE,GAAW,IAAI,CAAA;IA4BrB,CAAC;IA1Ba,YAAY,CAAC,QAAa;QAChC,IAAI,QAAQ,EAAE,CAAC;YACX,uFAAuF;YACvF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,sEAAsE;gBACtE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpE,qIAAqI;wBACrI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;wBAE9D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAES,qBAAqB,CAAC,KAAa;QACzC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,0FAA0F;YAC1F,2FAA2F;YAC3F,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAhCD,4BAgCC"}
1
+ {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"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"}