@bsv/wallet-toolbox 1.6.15 → 1.6.17

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.
@@ -7,6 +7,7 @@ const utilityHelpers_noBuffer_1 = require("../../../utility/utilityHelpers.noBuf
7
7
  const HeightRange_1 = require("./util/HeightRange");
8
8
  const SingleWriterMultiReaderLock_1 = require("./util/SingleWriterMultiReaderLock");
9
9
  const utilityHelpers_1 = require("../../../utility/utilityHelpers");
10
+ const WalletError_1 = require("../../../sdk/WalletError");
10
11
  class Chaintracks {
11
12
  static createOptions(chain) {
12
13
  return {
@@ -30,6 +31,7 @@ class Chaintracks {
30
31
  this.liveHeaders = [];
31
32
  this.addLiveRecursionLimit = 11;
32
33
  this.available = false;
34
+ this.startupError = null;
33
35
  this.subscriberCallbacksEnabled = false;
34
36
  this.stopMainThread = true;
35
37
  this.lastPresentHeight = 0;
@@ -146,9 +148,11 @@ class Chaintracks {
146
148
  // Start mai loop to shift out liveHeaders...once sync'd, will set `available` true.
147
149
  this.promises.push(this.mainThreadShiftLiveHeaders());
148
150
  // Wait for the main thread to finish initial sync.
149
- while (!this.available) {
151
+ while (!this.available && !this.startupError) {
150
152
  await (0, utilityHelpers_1.wait)(100);
151
153
  }
154
+ if (this.startupError)
155
+ throw this.startupError;
152
156
  });
153
157
  }
154
158
  async startPromises() {
@@ -279,6 +283,7 @@ class Chaintracks {
279
283
  let added = HeightRange_1.HeightRange.empty;
280
284
  let done = false;
281
285
  for (; !done;) {
286
+ let bulkSyncError;
282
287
  for (const bulk of this.bulkIngestors) {
283
288
  try {
284
289
  const r = await bulk.synchronize(presentHeight, before, newLiveHeaders);
@@ -292,21 +297,28 @@ class Chaintracks {
292
297
  break;
293
298
  }
294
299
  }
295
- catch (uerr) {
296
- console.error(uerr);
300
+ catch (eu) {
301
+ const e = (bulkSyncError = WalletError_1.WalletError.fromUnknown(eu));
302
+ this.log(`bulk sync error: ${e.message}`);
297
303
  }
298
304
  }
305
+ if (!bulkDone && !this.available && bulkSyncError) {
306
+ this.startupError = bulkSyncError;
307
+ break;
308
+ }
299
309
  if (bulkDone)
300
310
  break;
301
311
  }
302
- this.liveHeaders.unshift(...newLiveHeaders);
303
- added = after.bulk.above(initialRanges.bulk);
304
- this.log(`syncBulkStorage done
312
+ if (!this.startupError) {
313
+ this.liveHeaders.unshift(...newLiveHeaders);
314
+ added = after.bulk.above(initialRanges.bulk);
315
+ this.log(`syncBulkStorage done
305
316
  Before sync: bulk ${initialRanges.bulk}, live ${initialRanges.live}
306
317
  After sync: bulk ${after.bulk}, live ${after.live}
307
318
  ${added.length} headers added to bulk storage
308
319
  ${this.liveHeaders.length} headers forwarded to live header storage
309
320
  `);
321
+ }
310
322
  }
311
323
  async getMissingBlockHeader(hash) {
312
324
  for (const live of this.liveIngestors) {
@@ -376,142 +388,156 @@ class Chaintracks {
376
388
  const cdnSyncRepeatMsecs = 24 * 60 * 60 * 1000; // 24 hours
377
389
  const syncCheckRepeatMsecs = 30 * 60 * 1000; // 30 minutes
378
390
  while (!this.stopMainThread) {
379
- // Review the need for bulk sync...
380
- const now = Date.now();
381
- lastSyncCheck = now;
382
- const presentHeight = await this.getPresentHeight();
383
- const before = await this.storage.getAvailableHeightRanges();
384
- // Skip bulk sync if within less than half the recursion limit of present height
385
- let skipBulkSync = !before.live.isEmpty && before.live.maxHeight >= presentHeight - this.addLiveRecursionLimit / 2;
386
- if (skipBulkSync && now - lastSyncCheck > cdnSyncRepeatMsecs) {
387
- // If we haven't re-synced in a long time, do it just to check for a CDN update.
388
- skipBulkSync = false;
389
- }
390
- this.log(`Chaintracks Update Services: Bulk Header Sync Review
391
+ try {
392
+ // Review the need for bulk sync...
393
+ const now = Date.now();
394
+ lastSyncCheck = now;
395
+ const presentHeight = await this.getPresentHeight();
396
+ const before = await this.storage.getAvailableHeightRanges();
397
+ // Skip bulk sync if within less than half the recursion limit of present height
398
+ let skipBulkSync = !before.live.isEmpty && before.live.maxHeight >= presentHeight - this.addLiveRecursionLimit / 2;
399
+ if (skipBulkSync && now - lastSyncCheck > cdnSyncRepeatMsecs) {
400
+ // If we haven't re-synced in a long time, do it just to check for a CDN update.
401
+ skipBulkSync = false;
402
+ }
403
+ this.log(`Chaintracks Update Services: Bulk Header Sync Review
391
404
  presentHeight=${presentHeight} addLiveRecursionLimit=${this.addLiveRecursionLimit}
392
405
  Before synchronize: bulk ${before.bulk}, live ${before.live}
393
406
  ${skipBulkSync ? 'Skipping' : 'Starting'} syncBulkStorage.
394
407
  `);
395
- if (!skipBulkSync) {
396
- // Bring bulk storage up-to-date and (re-)initialize liveHeaders
397
- lastBulkSync = now;
398
- if (this.available)
399
- // Once available, initial write lock is released, take a new one to update bulk storage.
400
- await this.syncBulkStorage(presentHeight, before);
401
- else
402
- // While still not available, the makeAvailable write lock is held.
403
- await this.syncBulkStorageNoLock(presentHeight, before);
404
- }
405
- let count = 0;
406
- let liveHeaderDupes = 0;
407
- let needSyncCheck = false;
408
- for (; !needSyncCheck && !this.stopMainThread;) {
409
- let header = this.liveHeaders.shift();
410
- if (header) {
411
- // Process a "live" block header...
412
- let recursions = this.addLiveRecursionLimit;
413
- for (; !needSyncCheck && !this.stopMainThread;) {
414
- //console.log(`Processing liveHeader: height: ${header.height} hash: ${header.hash} ${new Date().toISOString()}`)
415
- const ihr = await this.addLiveHeader(header);
416
- if (this.invalidInsertHeaderResult(ihr)) {
417
- this.log(`Ignoring liveHeader ${header.height} ${header.hash} due to invalid insert result.`);
418
- needSyncCheck = true;
419
- }
420
- else if (ihr.noPrev) {
421
- // Previous header is unknown, request it by hash from the network and try adding it first...
422
- if (recursions-- <= 0) {
423
- // Ignore this header...
424
- this.log(`Ignoring liveHeader ${header.height} ${header.hash} addLiveRecursionLimit=${this.addLiveRecursionLimit} exceeded.`);
408
+ if (!skipBulkSync) {
409
+ // Bring bulk storage up-to-date and (re-)initialize liveHeaders
410
+ lastBulkSync = now;
411
+ if (this.available)
412
+ // Once available, initial write lock is released, take a new one to update bulk storage.
413
+ await this.syncBulkStorage(presentHeight, before);
414
+ else
415
+ // While still not available, the makeAvailable write lock is held.
416
+ await this.syncBulkStorageNoLock(presentHeight, before);
417
+ if (this.startupError)
418
+ throw this.startupError;
419
+ }
420
+ let count = 0;
421
+ let liveHeaderDupes = 0;
422
+ let needSyncCheck = false;
423
+ for (; !needSyncCheck && !this.stopMainThread;) {
424
+ let header = this.liveHeaders.shift();
425
+ if (header) {
426
+ // Process a "live" block header...
427
+ let recursions = this.addLiveRecursionLimit;
428
+ for (; !needSyncCheck && !this.stopMainThread;) {
429
+ //console.log(`Processing liveHeader: height: ${header.height} hash: ${header.hash} ${new Date().toISOString()}`)
430
+ const ihr = await this.addLiveHeader(header);
431
+ if (this.invalidInsertHeaderResult(ihr)) {
432
+ this.log(`Ignoring liveHeader ${header.height} ${header.hash} due to invalid insert result.`);
425
433
  needSyncCheck = true;
426
434
  }
427
- else {
428
- const hash = header.previousHash;
429
- const prevHeader = await this.getMissingBlockHeader(hash);
430
- if (!prevHeader) {
431
- this.log(`Ignoring liveHeader ${header.height} ${header.hash} failed to find previous header by hash ${(0, utilityHelpers_noBuffer_1.asString)(hash)}`);
435
+ else if (ihr.noPrev) {
436
+ // Previous header is unknown, request it by hash from the network and try adding it first...
437
+ if (recursions-- <= 0) {
438
+ // Ignore this header...
439
+ this.log(`Ignoring liveHeader ${header.height} ${header.hash} addLiveRecursionLimit=${this.addLiveRecursionLimit} exceeded.`);
432
440
  needSyncCheck = true;
433
441
  }
434
442
  else {
435
- // Switch to trying to add prevHeader, unshifting current header to try it again after prevHeader exists.
436
- this.liveHeaders.unshift(header);
437
- header = prevHeader;
443
+ const hash = header.previousHash;
444
+ const prevHeader = await this.getMissingBlockHeader(hash);
445
+ if (!prevHeader) {
446
+ this.log(`Ignoring liveHeader ${header.height} ${header.hash} failed to find previous header by hash ${(0, utilityHelpers_noBuffer_1.asString)(hash)}`);
447
+ needSyncCheck = true;
448
+ }
449
+ else {
450
+ // Switch to trying to add prevHeader, unshifting current header to try it again after prevHeader exists.
451
+ this.liveHeaders.unshift(header);
452
+ header = prevHeader;
453
+ }
438
454
  }
439
455
  }
440
- }
441
- else {
442
- if (this.subscriberCallbacksEnabled)
443
- this.log(`addLiveHeader ${header.height}${ihr.added ? ' added' : ''}${ihr.dupe ? ' dupe' : ''}${ihr.isActiveTip ? ' isActiveTip' : ''}${ihr.reorgDepth ? ' reorg depth ' + ihr.reorgDepth : ''}${ihr.noPrev ? ' noPrev' : ''}${ihr.noActiveAncestor || ihr.noTip || ihr.badPrev ? ' error' : ''}`);
444
- if (ihr.dupe) {
445
- liveHeaderDupes++;
446
- }
447
- // Header wasn't invalid and previous header is known. If it was successfully added, count it as a win.
448
- if (ihr.added) {
449
- count++;
450
- }
451
- break;
452
- }
453
- }
454
- }
455
- else {
456
- // There are no liveHeaders currently to process, check the out-of-band baseHeaders channel (`addHeader` method called by a client).
457
- const bheader = this.baseHeaders.shift();
458
- if (bheader) {
459
- const prev = await this.storage.findLiveHeaderForBlockHash(bheader.previousHash);
460
- if (!prev) {
461
- // Ignoring attempt to add a baseHeader with unknown previous hash, no attempt made to find previous header(s).
462
- this.log(`Ignoring header with unknown previousHash ${bheader.previousHash} in live storage.`);
463
- // Does not trigger a re-sync.
464
- }
465
- else {
466
- const header = {
467
- ...bheader,
468
- height: prev.height + 1,
469
- hash: (0, blockHeaderUtilities_1.blockHash)(bheader)
470
- };
471
- const ihr = await this.addLiveHeader(header);
472
- if (this.invalidInsertHeaderResult(ihr)) {
473
- this.log(`Ignoring invalid baseHeader ${header.height} ${header.hash}.`);
474
- }
475
456
  else {
476
457
  if (this.subscriberCallbacksEnabled)
477
- this.log(`addBaseHeader ${header.height}${ihr.added ? ' added' : ''}${ihr.dupe ? ' dupe' : ''}${ihr.isActiveTip ? ' isActiveTip' : ''}${ihr.reorgDepth ? ' reorg depth ' + ihr.reorgDepth : ''}${ihr.noPrev ? ' noPrev' : ''}${ihr.noActiveAncestor || ihr.noTip || ihr.badPrev ? ' error' : ''}`);
478
- // baseHeader was successfully added.
458
+ this.log(`addLiveHeader ${header.height}${ihr.added ? ' added' : ''}${ihr.dupe ? ' dupe' : ''}${ihr.isActiveTip ? ' isActiveTip' : ''}${ihr.reorgDepth ? ' reorg depth ' + ihr.reorgDepth : ''}${ihr.noPrev ? ' noPrev' : ''}${ihr.noActiveAncestor || ihr.noTip || ihr.badPrev ? ' error' : ''}`);
459
+ if (ihr.dupe) {
460
+ liveHeaderDupes++;
461
+ }
462
+ // Header wasn't invalid and previous header is known. If it was successfully added, count it as a win.
479
463
  if (ihr.added) {
480
464
  count++;
481
465
  }
466
+ break;
482
467
  }
483
468
  }
484
469
  }
485
470
  else {
486
- // There are no liveHeaders and no baseHeaders to add,
487
- if (count > 0) {
488
- if (liveHeaderDupes > 0) {
489
- this.log(`${liveHeaderDupes} duplicate headers ignored.`);
490
- liveHeaderDupes = 0;
471
+ // There are no liveHeaders currently to process, check the out-of-band baseHeaders channel (`addHeader` method called by a client).
472
+ const bheader = this.baseHeaders.shift();
473
+ if (bheader) {
474
+ const prev = await this.storage.findLiveHeaderForBlockHash(bheader.previousHash);
475
+ if (!prev) {
476
+ // Ignoring attempt to add a baseHeader with unknown previous hash, no attempt made to find previous header(s).
477
+ this.log(`Ignoring header with unknown previousHash ${bheader.previousHash} in live storage.`);
478
+ // Does not trigger a re-sync.
491
479
  }
492
- const updated = await this.storage.getAvailableHeightRanges();
493
- this.log(`After adding ${count} live headers
480
+ else {
481
+ const header = {
482
+ ...bheader,
483
+ height: prev.height + 1,
484
+ hash: (0, blockHeaderUtilities_1.blockHash)(bheader)
485
+ };
486
+ const ihr = await this.addLiveHeader(header);
487
+ if (this.invalidInsertHeaderResult(ihr)) {
488
+ this.log(`Ignoring invalid baseHeader ${header.height} ${header.hash}.`);
489
+ }
490
+ else {
491
+ if (this.subscriberCallbacksEnabled)
492
+ this.log(`addBaseHeader ${header.height}${ihr.added ? ' added' : ''}${ihr.dupe ? ' dupe' : ''}${ihr.isActiveTip ? ' isActiveTip' : ''}${ihr.reorgDepth ? ' reorg depth ' + ihr.reorgDepth : ''}${ihr.noPrev ? ' noPrev' : ''}${ihr.noActiveAncestor || ihr.noTip || ihr.badPrev ? ' error' : ''}`);
493
+ // baseHeader was successfully added.
494
+ if (ihr.added) {
495
+ count++;
496
+ }
497
+ }
498
+ }
499
+ }
500
+ else {
501
+ // There are no liveHeaders and no baseHeaders to add,
502
+ if (count > 0) {
503
+ if (liveHeaderDupes > 0) {
504
+ this.log(`${liveHeaderDupes} duplicate headers ignored.`);
505
+ liveHeaderDupes = 0;
506
+ }
507
+ const updated = await this.storage.getAvailableHeightRanges();
508
+ this.log(`After adding ${count} live headers
494
509
  After live: bulk ${updated.bulk}, live ${updated.live}
495
510
  `);
496
- count = 0;
497
- }
498
- if (!this.subscriberCallbacksEnabled) {
499
- const live = await this.storage.findLiveHeightRange();
500
- if (!live.isEmpty) {
501
- this.subscriberCallbacksEnabled = true;
502
- this.log(`listening at height of ${live.maxHeight}`);
511
+ count = 0;
503
512
  }
513
+ if (!this.subscriberCallbacksEnabled) {
514
+ const live = await this.storage.findLiveHeightRange();
515
+ if (!live.isEmpty) {
516
+ this.subscriberCallbacksEnabled = true;
517
+ this.log(`listening at height of ${live.maxHeight}`);
518
+ }
519
+ }
520
+ if (!this.available) {
521
+ this.available = true;
522
+ }
523
+ needSyncCheck = Date.now() - lastSyncCheck > syncCheckRepeatMsecs;
524
+ // If we aren't going to review sync, wait before checking input queues again
525
+ if (!needSyncCheck)
526
+ await (0, utilityHelpers_1.wait)(1000);
504
527
  }
505
- if (!this.available) {
506
- this.available = true;
507
- }
508
- needSyncCheck = Date.now() - lastSyncCheck > syncCheckRepeatMsecs;
509
- // If we aren't going to review sync, wait before checking input queues again
510
- if (!needSyncCheck)
511
- await (0, utilityHelpers_1.wait)(1000);
512
528
  }
513
529
  }
514
530
  }
531
+ catch (eu) {
532
+ const e = WalletError_1.WalletError.fromUnknown(eu);
533
+ if (!this.available) {
534
+ this.startupError = e;
535
+ this.stopMainThread = true;
536
+ }
537
+ else {
538
+ this.log(`Error occurred during chaintracks main thread processing: ${e.stack || e.message}`);
539
+ }
540
+ }
515
541
  }
516
542
  }
517
543
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":";;;AAIA,oDAA+D;AAG/D,sEAA6E;AAI7E,sFAAmE;AACnE,oDAA8D;AAC9D,oFAAgF;AAEhF,oEAAyE;AACzE,0DAAsD;AAGtD,MAAa,WAAW;IACtB,MAAM,CAAC,aAAa,CAAC,KAAY;QAC/B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,SAAS;YAClB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,qBAAqB,EAAE,EAAE;YACzB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC;YACpE,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;IAgCD,YAAmB,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;QA9B9C,8DAA8D;QAC9D,QAAG,GAA6B,GAAG,EAAE,GAAE,CAAC,CAAA;QAKxC,wHAAwH;QAChH,aAAQ,GAAoB,EAAE,CAAA;QAE9B,cAAS,GAA2E,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAK7G,gBAAW,GAAsB,EAAE,CAAA;QACnC,gBAAW,GAAkB,EAAE,CAAA;QAC/B,0BAAqB,GAAG,EAAE,CAAA;QAE1B,cAAS,GAAG,KAAK,CAAA;QACjB,iBAAY,GAAuB,IAAI,CAAA;QAEvC,+BAA0B,GAAG,KAAK,CAAA;QAClC,mBAAc,GAAG,IAAI,CAAA;QAErB,sBAAiB,GAAG,CAAC,CAAA;QACrB,2BAAsB,GAAG,CAAC,CAAA;QAC1B,4BAAuB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,4BAA4B;QAEhE,SAAI,GAAG,IAAI,yDAA2B,EAAE,CAAA;QAG9C,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAE1C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;QAE1D,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAE3B,IAAI,CAAC,GAAG,CAAC,4CAA4C,OAAO,CAAC,KAAK,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/F,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC/B,CAAC;QACD,MAAM,cAAc,GAAa,EAAE,CAAA;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACnD,IAAI,aAAa;oBAAE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,IAAa,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAClG,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAA;QACtC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAA;QACjC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAwB;QAC7C,MAAM,EAAE,GAAG,IAAA,kCAAiB,EAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACpC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAuB;QAC3C,MAAM,EAAE,GAAG,IAAA,kCAAiB,EAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACnC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB;QACtC,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;aAClF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;;YACrF,OAAO,GAAG,KAAK,CAAA;QACpB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACvC,gDAAgD;YAChD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAM;YAC1B,qDAAqD;YACrD,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;YAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACxF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAExF,sFAAsF;YACtF,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YAEhH,oFAAoF;YACpF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAA;YAErD,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7C,MAAM,IAAA,qBAAI,EAAC,GAAG,CAAC,CAAA;YACjB,CAAC;YAED,IAAI,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAM;IACtE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAM;YAClD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YAChE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,2DAA2D;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAA;IACnF,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAc;QACpD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,IAAY;QACrD,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAc;QACrD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACpB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,CAAA;QACrC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;IACjE,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QAC1D,MAAM,IAAI,GAAuB;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,CAAC;YACnC,UAAU,EAAE,SAAS,CAAC,SAAS;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;YACpF,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;YACpF,QAAQ,EAAE,EAAE;SACb,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,KAAa;QAC5C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAQ,EAAC,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7G,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5G,OAAO,MAAM,IAAI,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACvC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YAChG,CAAC,GAAG,EAAE,CAAA;YACN,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,IAAsB,EACtB,SAAkB,EAClB,gBAAyB,EACzB,SAAkB;QAElB,gBAAgB,KAAhB,gBAAgB,GAAK,MAAM,EAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,aAA2B;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3G,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,aAA2B;QACpF,IAAI,cAAc,GAAkB,EAAE,CAAA;QAEtC,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,MAAM,GAAG,aAAa,CAAA;QAC1B,IAAI,KAAK,GAAG,MAAM,CAAA;QAClB,IAAI,KAAK,GAAG,yBAAW,CAAC,KAAK,CAAA;QAE7B,IAAI,IAAI,GAAG,KAAK,CAAA;QAChB,OAAO,CAAC,IAAI,GAAI,CAAC;YACf,IAAI,aAAsC,CAAA;YAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;oBAEvE,cAAc,GAAG,CAAC,CAAC,WAAW,CAAA;oBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;oBACrD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBACrC,MAAM,GAAG,KAAK,CAAA;oBACd,IAAI,CAAC,GAAG,CACN,kBAAkB,KAAK,CAAC,MAAM,eAAe,cAAc,CAAC,MAAM,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAChH,CAAA;oBAED,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;wBACX,IAAI,GAAG,IAAI,CAAA;wBACX,MAAK;oBACP,CAAC;gBACH,CAAC;gBAAC,OAAO,EAAW,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;gBACjC,MAAK;YACP,CAAC;YACD,IAAI,QAAQ;gBAAE,MAAK;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAA;YAE3C,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAE5C,IAAI,CAAC,GAAG,CAAC;sBACO,aAAa,CAAC,IAAI,UAAU,aAAa,CAAC,IAAI;sBAC9C,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI;IAChD,KAAK,CAAC,MAAM;IACZ,IAAI,CAAC,WAAW,CAAC,MAAM;CAC1B,CAAC,CAAA;QACE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAY;QAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC3B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,yBAAyB,CAAC,GAAuB;QACvD,OAAO,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAA;IACzD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAmB;QAC7C,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAA;QAC5B,IAAA,wCAA0B,EAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpF,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAA;QAEnD,IAAI,IAAI,CAAC,0BAA0B,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpE,gFAAgF;YAChF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC7C,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,WAAW,CAAC,MAAM,CAAC,CAAA;oBACrB,CAAC;oBAAC,WAAM,CAAC;wBACP,8BAA8B;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACvC,2EAA2E;gBAC3E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBACtC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBAC9C,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC;4BACH,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wBACrD,CAAC;wBAAC,WAAM,CAAC;4BACP,8BAA8B;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,0BAA0B;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,WAAW;QAC1D,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;QAEzD,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,mCAAmC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,aAAa,GAAG,GAAG,CAAA;gBAEnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;gBAE5D,gFAAgF;gBAChF,IAAI,YAAY,GACd,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;gBAEjG,IAAI,YAAY,IAAI,GAAG,GAAG,aAAa,GAAG,kBAAkB,EAAE,CAAC;oBAC7D,gFAAgF;oBAChF,YAAY,GAAG,KAAK,CAAA;gBACtB,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC;kBACC,aAAa,4BAA4B,IAAI,CAAC,qBAAqB;6BACxD,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,IAAI;IACzD,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;CACzC,CAAC,CAAA;gBAEM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,gEAAgE;oBAChE,YAAY,GAAG,GAAG,CAAA;oBAClB,IAAI,IAAI,CAAC,SAAS;wBAChB,yFAAyF;wBACzF,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;;wBAEjD,mEAAmE;wBACnE,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;oBACzD,IAAI,IAAI,CAAC,YAAY;wBAAE,MAAM,IAAI,CAAC,YAAY,CAAA;gBAChD,CAAC;gBAED,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,IAAI,eAAe,GAAG,CAAC,CAAA;gBACvB,IAAI,aAAa,GAAG,KAAK,CAAA;gBAEzB,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,GAAI,CAAC;oBAChD,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;oBACrC,IAAI,MAAM,EAAE,CAAC;wBACX,mCAAmC;wBACnC,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAA;wBAC3C,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,GAAI,CAAC;4BAChD,iHAAiH;4BACjH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;4BAC5C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;gCACxC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,gCAAgC,CAAC,CAAA;gCAC7F,aAAa,GAAG,IAAI,CAAA;4BACtB,CAAC;iCAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gCACtB,6FAA6F;gCAC7F,IAAI,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oCACtB,wBAAwB;oCACxB,IAAI,CAAC,GAAG,CACN,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,0BAA0B,IAAI,CAAC,qBAAqB,YAAY,CACpH,CAAA;oCACD,aAAa,GAAG,IAAI,CAAA;gCACtB,CAAC;qCAAM,CAAC;oCACN,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAA;oCAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;oCACzD,IAAI,CAAC,UAAU,EAAE,CAAC;wCAChB,IAAI,CAAC,GAAG,CACN,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,2CAA2C,IAAA,kCAAQ,EAAC,IAAI,CAAC,EAAE,CAC/G,CAAA;wCACD,aAAa,GAAG,IAAI,CAAA;oCACtB,CAAC;yCAAM,CAAC;wCACN,yGAAyG;wCACzG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;wCAChC,MAAM,GAAG,UAAU,CAAA;oCACrB,CAAC;gCACH,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,IAAI,IAAI,CAAC,0BAA0B;oCACjC,IAAI,CAAC,GAAG,CACN,iBAAiB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACzR,CAAA;gCACH,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oCACb,eAAe,EAAE,CAAA;gCACnB,CAAC;gCACD,uGAAuG;gCACvG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oCACd,KAAK,EAAE,CAAA;gCACT,CAAC;gCACD,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,oIAAoI;wBACpI,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;wBACxC,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;4BAChF,IAAI,CAAC,IAAI,EAAE,CAAC;gCACV,+GAA+G;gCAC/G,IAAI,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,YAAY,mBAAmB,CAAC,CAAA;gCAC9F,8BAA8B;4BAChC,CAAC;iCAAM,CAAC;gCACN,MAAM,MAAM,GAAgB;oCAC1B,GAAG,OAAO;oCACV,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;oCACvB,IAAI,EAAE,IAAA,gCAAS,EAAC,OAAO,CAAC;iCACzB,CAAA;gCACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gCAC5C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;oCACxC,IAAI,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;gCAC1E,CAAC;qCAAM,CAAC;oCACN,IAAI,IAAI,CAAC,0BAA0B;wCACjC,IAAI,CAAC,GAAG,CACN,iBAAiB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACzR,CAAA;oCACH,qCAAqC;oCACrC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wCACd,KAAK,EAAE,CAAA;oCACT,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,sDAAsD;4BACtD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gCACd,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oCACxB,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,6BAA6B,CAAC,CAAA;oCACzD,eAAe,GAAG,CAAC,CAAA;gCACrB,CAAC;gCACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;gCAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK;sBACxB,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI;CACvD,CAAC,CAAA;gCACc,KAAK,GAAG,CAAC,CAAA;4BACX,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gCACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;gCACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oCAClB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAA;oCACtC,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;gCACtD,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gCACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;4BACvB,CAAC;4BACD,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,oBAAoB,CAAA;4BACjE,6EAA6E;4BAC7E,IAAI,CAAC,aAAa;gCAAE,MAAM,IAAA,qBAAI,EAAC,IAAI,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,EAAW,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,yBAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;oBACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAxkBD,kCAwkBC"}