@bitpay-labs/bitcore-wallet-service 11.11.0 → 11.11.2

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 (157) hide show
  1. package/Dockerfile +1 -1
  2. package/package.json +5 -5
  3. package/src/config.ts +0 -20
  4. package/src/externalservices/banxa.ts +51 -10
  5. package/src/externalservices/changelly.ts +54 -6
  6. package/src/externalservices/moonpay.ts +85 -19
  7. package/src/externalservices/oneInch.ts +13 -5
  8. package/src/externalservices/ramp.ts +42 -8
  9. package/src/externalservices/sardine.ts +51 -10
  10. package/src/externalservices/simplex.ts +58 -11
  11. package/src/externalservices/thorswap.ts +46 -11
  12. package/src/externalservices/transak.ts +53 -11
  13. package/src/lib/chain/btc/index.ts +3 -2
  14. package/src/lib/chain/eth/index.ts +134 -117
  15. package/src/lib/chain/sol/index.ts +1 -1
  16. package/src/lib/chain/xrp/index.ts +1 -1
  17. package/src/lib/routes/services.ts +0 -12
  18. package/src/lib/routes/wallets.ts +3 -1
  19. package/src/lib/server.ts +136 -91
  20. package/src/lib/storage.ts +90 -20
  21. package/src/types/externalservices.d.ts +0 -1
  22. package/test/chain/eth.test.ts +70 -0
  23. package/test/chain/sol.test.ts +1 -1
  24. package/test/chain/xrp.test.ts +1 -1
  25. package/test/expressapp.test.ts +144 -0
  26. package/test/integration/addressReads.test.ts +503 -0
  27. package/test/integration/bcmonitor.test.ts +44 -0
  28. package/test/integration/externalservices/banxa.test.ts +95 -5
  29. package/test/integration/externalservices/changelly.test.ts +118 -6
  30. package/test/integration/externalservices/coinGecko.test.ts +4 -0
  31. package/test/integration/externalservices/moonpay.test.ts +178 -9
  32. package/test/integration/externalservices/oneInch.test.ts +28 -1
  33. package/test/integration/externalservices/ramp.test.ts +126 -4
  34. package/test/integration/externalservices/sardine.test.ts +95 -5
  35. package/test/integration/externalservices/simplex.test.ts +95 -5
  36. package/test/integration/externalservices/thorswap.test.ts +81 -5
  37. package/test/integration/externalservices/transak.test.ts +98 -6
  38. package/test/integration/helpers.ts +1 -1
  39. package/test/integration/server.test.ts +254 -136
  40. package/test/integration/walletReads.test.ts +488 -0
  41. package/ts_build/package.json +3 -3
  42. package/ts_build/src/config.d.ts.map +1 -1
  43. package/ts_build/src/config.js +0 -4
  44. package/ts_build/src/config.js.map +1 -1
  45. package/ts_build/src/externalservices/banxa.d.ts.map +1 -1
  46. package/ts_build/src/externalservices/banxa.js +51 -10
  47. package/ts_build/src/externalservices/banxa.js.map +1 -1
  48. package/ts_build/src/externalservices/changelly.d.ts.map +1 -1
  49. package/ts_build/src/externalservices/changelly.js +54 -6
  50. package/ts_build/src/externalservices/changelly.js.map +1 -1
  51. package/ts_build/src/externalservices/moonpay.d.ts.map +1 -1
  52. package/ts_build/src/externalservices/moonpay.js +85 -19
  53. package/ts_build/src/externalservices/moonpay.js.map +1 -1
  54. package/ts_build/src/externalservices/oneInch.d.ts.map +1 -1
  55. package/ts_build/src/externalservices/oneInch.js +13 -5
  56. package/ts_build/src/externalservices/oneInch.js.map +1 -1
  57. package/ts_build/src/externalservices/ramp.d.ts.map +1 -1
  58. package/ts_build/src/externalservices/ramp.js +42 -8
  59. package/ts_build/src/externalservices/ramp.js.map +1 -1
  60. package/ts_build/src/externalservices/sardine.d.ts.map +1 -1
  61. package/ts_build/src/externalservices/sardine.js +51 -10
  62. package/ts_build/src/externalservices/sardine.js.map +1 -1
  63. package/ts_build/src/externalservices/simplex.d.ts.map +1 -1
  64. package/ts_build/src/externalservices/simplex.js +55 -11
  65. package/ts_build/src/externalservices/simplex.js.map +1 -1
  66. package/ts_build/src/externalservices/thorswap.d.ts.map +1 -1
  67. package/ts_build/src/externalservices/thorswap.js +45 -11
  68. package/ts_build/src/externalservices/thorswap.js.map +1 -1
  69. package/ts_build/src/externalservices/transak.d.ts.map +1 -1
  70. package/ts_build/src/externalservices/transak.js +53 -11
  71. package/ts_build/src/externalservices/transak.js.map +1 -1
  72. package/ts_build/src/lib/chain/btc/index.d.ts.map +1 -1
  73. package/ts_build/src/lib/chain/btc/index.js +3 -2
  74. package/ts_build/src/lib/chain/btc/index.js.map +1 -1
  75. package/ts_build/src/lib/chain/eth/index.d.ts +8 -1
  76. package/ts_build/src/lib/chain/eth/index.d.ts.map +1 -1
  77. package/ts_build/src/lib/chain/eth/index.js +114 -102
  78. package/ts_build/src/lib/chain/eth/index.js.map +1 -1
  79. package/ts_build/src/lib/chain/sol/index.js +1 -1
  80. package/ts_build/src/lib/chain/sol/index.js.map +1 -1
  81. package/ts_build/src/lib/chain/xrp/index.js +1 -1
  82. package/ts_build/src/lib/chain/xrp/index.js.map +1 -1
  83. package/ts_build/src/lib/routes/services.d.ts.map +1 -1
  84. package/ts_build/src/lib/routes/services.js +0 -10
  85. package/ts_build/src/lib/routes/services.js.map +1 -1
  86. package/ts_build/src/lib/routes/wallets.d.ts.map +1 -1
  87. package/ts_build/src/lib/routes/wallets.js +2 -1
  88. package/ts_build/src/lib/routes/wallets.js.map +1 -1
  89. package/ts_build/src/lib/server.d.ts +1 -3
  90. package/ts_build/src/lib/server.d.ts.map +1 -1
  91. package/ts_build/src/lib/server.js +128 -96
  92. package/ts_build/src/lib/server.js.map +1 -1
  93. package/ts_build/src/lib/storage.d.ts +17 -10
  94. package/ts_build/src/lib/storage.d.ts.map +1 -1
  95. package/ts_build/src/lib/storage.js +73 -20
  96. package/ts_build/src/lib/storage.js.map +1 -1
  97. package/ts_build/test/chain/eth.test.js +59 -0
  98. package/ts_build/test/chain/eth.test.js.map +1 -1
  99. package/ts_build/test/chain/sol.test.js +1 -1
  100. package/ts_build/test/chain/sol.test.js.map +1 -1
  101. package/ts_build/test/chain/xrp.test.js +1 -1
  102. package/ts_build/test/chain/xrp.test.js.map +1 -1
  103. package/ts_build/test/expressapp.test.js +132 -0
  104. package/ts_build/test/expressapp.test.js.map +1 -1
  105. package/ts_build/test/integration/addressReads.test.d.ts +2 -0
  106. package/ts_build/test/integration/addressReads.test.d.ts.map +1 -0
  107. package/ts_build/test/integration/addressReads.test.js +465 -0
  108. package/ts_build/test/integration/addressReads.test.js.map +1 -0
  109. package/ts_build/test/integration/bcmonitor.test.js +40 -0
  110. package/ts_build/test/integration/bcmonitor.test.js.map +1 -1
  111. package/ts_build/test/integration/externalservices/banxa.test.d.ts.map +1 -1
  112. package/ts_build/test/integration/externalservices/banxa.test.js +93 -5
  113. package/ts_build/test/integration/externalservices/banxa.test.js.map +1 -1
  114. package/ts_build/test/integration/externalservices/changelly.test.d.ts.map +1 -1
  115. package/ts_build/test/integration/externalservices/changelly.test.js +111 -6
  116. package/ts_build/test/integration/externalservices/changelly.test.js.map +1 -1
  117. package/ts_build/test/integration/externalservices/coinGecko.test.js +4 -0
  118. package/ts_build/test/integration/externalservices/coinGecko.test.js.map +1 -1
  119. package/ts_build/test/integration/externalservices/moonpay.test.d.ts.map +1 -1
  120. package/ts_build/test/integration/externalservices/moonpay.test.js +169 -9
  121. package/ts_build/test/integration/externalservices/moonpay.test.js.map +1 -1
  122. package/ts_build/test/integration/externalservices/oneInch.test.d.ts.map +1 -1
  123. package/ts_build/test/integration/externalservices/oneInch.test.js +26 -1
  124. package/ts_build/test/integration/externalservices/oneInch.test.js.map +1 -1
  125. package/ts_build/test/integration/externalservices/ramp.test.d.ts.map +1 -1
  126. package/ts_build/test/integration/externalservices/ramp.test.js +115 -4
  127. package/ts_build/test/integration/externalservices/ramp.test.js.map +1 -1
  128. package/ts_build/test/integration/externalservices/sardine.test.d.ts.map +1 -1
  129. package/ts_build/test/integration/externalservices/sardine.test.js +94 -5
  130. package/ts_build/test/integration/externalservices/sardine.test.js.map +1 -1
  131. package/ts_build/test/integration/externalservices/simplex.test.d.ts.map +1 -1
  132. package/ts_build/test/integration/externalservices/simplex.test.js +89 -5
  133. package/ts_build/test/integration/externalservices/simplex.test.js.map +1 -1
  134. package/ts_build/test/integration/externalservices/thorswap.test.d.ts.map +1 -1
  135. package/ts_build/test/integration/externalservices/thorswap.test.js +76 -5
  136. package/ts_build/test/integration/externalservices/thorswap.test.js.map +1 -1
  137. package/ts_build/test/integration/externalservices/transak.test.d.ts.map +1 -1
  138. package/ts_build/test/integration/externalservices/transak.test.js +93 -6
  139. package/ts_build/test/integration/externalservices/transak.test.js.map +1 -1
  140. package/ts_build/test/integration/helpers.js +1 -1
  141. package/ts_build/test/integration/helpers.js.map +1 -1
  142. package/ts_build/test/integration/server.test.js +225 -124
  143. package/ts_build/test/integration/server.test.js.map +1 -1
  144. package/ts_build/test/integration/walletReads.test.d.ts +2 -0
  145. package/ts_build/test/integration/walletReads.test.d.ts.map +1 -0
  146. package/ts_build/test/integration/walletReads.test.js +436 -0
  147. package/ts_build/test/integration/walletReads.test.js.map +1 -0
  148. package/src/externalservices/wyre.ts +0 -131
  149. package/test/integration/externalservices/wyre.test.ts +0 -270
  150. package/ts_build/src/externalservices/wyre.d.ts +0 -7
  151. package/ts_build/src/externalservices/wyre.d.ts.map +0 -1
  152. package/ts_build/src/externalservices/wyre.js +0 -144
  153. package/ts_build/src/externalservices/wyre.js.map +0 -1
  154. package/ts_build/test/integration/externalservices/wyre.test.d.ts +0 -2
  155. package/ts_build/test/integration/externalservices/wyre.test.d.ts.map +0 -1
  156. package/ts_build/test/integration/externalservices/wyre.test.js +0 -281
  157. package/ts_build/test/integration/externalservices/wyre.test.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as mongodb from 'mongodb';
2
- import { Copayer, Email, Preferences, TxNote, TxProposal, Wallet } from './model';
2
+ import { Address, Copayer, Email, Preferences, TxNote, TxProposal, Wallet } from './model';
3
3
  import { TssKeyGenModel } from './model/tsskeygen';
4
4
  import { TssSigGenModel } from './model/tsssign';
5
5
  import type { ITssKeyMessageObject } from './model/tsskeygen';
@@ -38,21 +38,28 @@ export declare class Storage {
38
38
  storeWallet(wallet: any, cb: any): void;
39
39
  storeWalletAndUpdateCopayersLookup(wallet: any, cb: any): void;
40
40
  fetchCopayerLookup(copayerId: string): Promise<Copayer | undefined>;
41
- _completeTxData(walletId: string, txs: TxProposal | TxProposal[], cb: (err?: any, txs?: TxProposal | TxProposal[]) => void): void;
42
- fetchTx(walletId: string, txProposalId: string, cb: (err?: any, tx?: TxProposal) => void): void;
41
+ _completeTxData(walletId: string, txs: TxProposal | TxProposal[], cb: (err?: any, txs?: TxProposal | TxProposal[]) => void, wallet?: Wallet): void;
42
+ fetchTx(walletId: string, txProposalId: string, cb: (err?: any, tx?: TxProposal) => void, wallet?: Wallet): void;
43
43
  fetchTxByHash(hash: any, cb: any): any;
44
- fetchTxByHashForWallet(walletId: string, hash: any, cb: (err?: any, tx?: TxProposal) => void): void;
44
+ fetchTxByHashForWallet(walletId: string, hash: any, cb: (err?: any, tx?: TxProposal) => void, wallet?: Wallet): void;
45
45
  fetchLastTxs(walletId: any, creatorId: any, limit: any, cb: any): void;
46
46
  fetchEthPendingTxs(multisigTxpsInfo: any): Promise<TxProposal<number>[]>;
47
- fetchPendingTxs(walletId: any, cb: any): void;
48
- fetchTxs(walletId: any, opts: any, cb: any): void;
49
- fetchBroadcastedTxs(walletId: any, opts: any, cb: any): void;
47
+ fetchPendingTxs(walletId: any, cb: any, wallet?: Wallet): void;
48
+ fetchTxs(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
49
+ fetchBroadcastedTxs(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
50
50
  fetchNotifications(walletId: any, notificationId: any, minTs: any, cb: any): void;
51
51
  storeNotification(walletId: any, notification: any, cb: any): void;
52
52
  storeTx(walletId: any, txp: any, cb: any): void;
53
53
  removeTx(walletId: any, txProposalId: any, cb: any): void;
54
54
  removeWallet(walletId: any, cb: any): void;
55
55
  fetchAddresses(walletId: any, cb: any): void;
56
+ fetchAddressesPage(walletId: string, opts: {
57
+ noChange?: boolean;
58
+ addresses?: string[];
59
+ reverse?: boolean;
60
+ skip?: number;
61
+ limit?: number;
62
+ }, cb: (err?: any, addresses?: Address[]) => void): void;
56
63
  migrateToCashAddr(walletId: any, cb: any): void;
57
64
  fetchUnsyncAddresses(walletId: any, cb: any): void;
58
65
  fetchNewAddresses(walletId: any, fromTs: any, cb: any): void;
@@ -80,9 +87,9 @@ export declare class Storage {
80
87
  storeFiatRate(coin: any, rates: any, cb: any): void;
81
88
  fetchFiatRate(coin: any, code: any, ts: any, cb: any): void;
82
89
  fetchHistoricalRates(coin: any, code: any, ts: any, cb: any): void;
83
- fetchTxNote(walletId: any, txid: any, cb: (err?: any, note?: TxNote) => void): void;
84
- _completeTxNotesData(walletId: any, notes: TxNote | TxNote[], cb: (err?: any, notes?: TxNote | TxNote[]) => void): void;
85
- fetchTxNotes(walletId: any, opts: any, cb: any): void;
90
+ fetchTxNote(walletId: any, txid: any, cb: (err?: any, note?: TxNote) => void, wallet?: Wallet): void;
91
+ _completeTxNotesData(walletId: any, notes: TxNote | TxNote[], cb: (err?: any, notes?: TxNote | TxNote[]) => void, wallet?: Wallet): void;
92
+ fetchTxNotes(walletId: any, opts: any, cb: any, wallet?: Wallet): void;
86
93
  storeTxNote(txNote: any, cb: any): void;
87
94
  getSession(copayerId: any, cb: any): void;
88
95
  storeSession(session: any, cb: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
@@ -292,8 +292,8 @@ class Storage {
292
292
  }
293
293
  return model_1.Copayer.fromObj(result);
294
294
  }
295
- _completeTxData(walletId, txs, cb) {
296
- this.fetchWallet(walletId, (err, wallet) => {
295
+ _completeTxData(walletId, txs, cb, wallet) {
296
+ const complete = (err, wallet) => {
297
297
  if (err)
298
298
  return cb(err);
299
299
  for (const tx of [].concat(txs)) {
@@ -306,9 +306,12 @@ class Storage {
306
306
  tx.raw = tx.getRawTx();
307
307
  }
308
308
  return cb(null, txs);
309
- });
309
+ };
310
+ if (wallet)
311
+ return complete(null, wallet);
312
+ this.fetchWallet(walletId, complete);
310
313
  }
311
- fetchTx(walletId, txProposalId, cb) {
314
+ fetchTx(walletId, txProposalId, cb, wallet) {
312
315
  if (!this.db)
313
316
  return cb();
314
317
  this.db.collection(collections.TXS).findOne({
@@ -319,7 +322,7 @@ class Storage {
319
322
  return cb(err);
320
323
  if (!result)
321
324
  return cb();
322
- return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb);
325
+ return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb, wallet);
323
326
  });
324
327
  }
325
328
  fetchTxByHash(hash, cb) {
@@ -335,7 +338,7 @@ class Storage {
335
338
  return this._completeTxData(result.walletId, model_1.TxProposal.fromObj(result), cb);
336
339
  });
337
340
  }
338
- fetchTxByHashForWallet(walletId, hash, cb) {
341
+ fetchTxByHashForWallet(walletId, hash, cb, wallet) {
339
342
  if (!this.db)
340
343
  return cb();
341
344
  this.db.collection(collections.TXS).findOne({
@@ -346,7 +349,7 @@ class Storage {
346
349
  return cb(err);
347
350
  if (!result)
348
351
  return cb();
349
- return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb);
352
+ return this._completeTxData(walletId, model_1.TxProposal.fromObj(result), cb, wallet);
350
353
  });
351
354
  }
352
355
  fetchLastTxs(walletId, creatorId, limit, cb) {
@@ -415,7 +418,7 @@ class Storage {
415
418
  });
416
419
  });
417
420
  }
418
- fetchPendingTxs(walletId, cb) {
421
+ fetchPendingTxs(walletId, cb, wallet) {
419
422
  this.db
420
423
  .collection(collections.TXS)
421
424
  .find({
@@ -433,10 +436,10 @@ class Storage {
433
436
  const txs = lodash_1.default.map(result, tx => {
434
437
  return model_1.TxProposal.fromObj(tx);
435
438
  });
436
- return this._completeTxData(walletId, txs, cb);
439
+ return this._completeTxData(walletId, txs, cb, wallet);
437
440
  });
438
441
  }
439
- fetchTxs(walletId, opts, cb) {
442
+ fetchTxs(walletId, opts, cb, wallet) {
440
443
  opts = opts || {};
441
444
  const tsFilter = {};
442
445
  if (lodash_1.default.isNumber(opts.minTs))
@@ -465,10 +468,10 @@ class Storage {
465
468
  const txs = lodash_1.default.map(result, tx => {
466
469
  return model_1.TxProposal.fromObj(tx);
467
470
  });
468
- return this._completeTxData(walletId, txs, cb);
471
+ return this._completeTxData(walletId, txs, cb, wallet);
469
472
  });
470
473
  }
471
- fetchBroadcastedTxs(walletId, opts, cb) {
474
+ fetchBroadcastedTxs(walletId, opts, cb, wallet) {
472
475
  opts = opts || {};
473
476
  const tsFilter = {};
474
477
  if (lodash_1.default.isNumber(opts.minTs))
@@ -498,7 +501,7 @@ class Storage {
498
501
  const txs = lodash_1.default.map(result, tx => {
499
502
  return model_1.TxProposal.fromObj(tx);
500
503
  });
501
- return this._completeTxData(walletId, txs, cb);
504
+ return this._completeTxData(walletId, txs, cb, wallet);
502
505
  });
503
506
  }
504
507
  fetchNotifications(walletId, notificationId, minTs, cb) {
@@ -591,6 +594,53 @@ class Storage {
591
594
  return cb(null, Utils.sortAsc(result.map(model_1.Address.fromObj), 'createdOn', 'path'));
592
595
  });
593
596
  }
597
+ fetchAddressesPage(walletId, opts, cb) {
598
+ const query = { walletId };
599
+ if (opts.noChange)
600
+ query.isChange = { $in: [false, null] };
601
+ if (opts.addresses)
602
+ query.address = { $in: opts.addresses };
603
+ const skip = opts.skip > 0 ? Math.floor(opts.skip) : 0;
604
+ const limit = opts.limit > 0 ? Math.floor(opts.limit) : null;
605
+ const collection = this.db.collection(collections.ADDRESSES);
606
+ const page = docs => {
607
+ let addresses = Utils.sortAsc(docs.map(model_1.Address.fromObj), 'createdOn', 'path');
608
+ if (opts.reverse)
609
+ addresses.reverse();
610
+ if (skip)
611
+ addresses = addresses.slice(skip);
612
+ if (limit !== null)
613
+ addresses = addresses.slice(0, limit);
614
+ return addresses;
615
+ };
616
+ const readAll = () => collection.find(query).sort({ createdOn: 1 }).toArray((err, docs) => {
617
+ if (err)
618
+ return cb(err);
619
+ return cb(null, page(docs));
620
+ });
621
+ if (opts.addresses || !(limit > 0) || !Number.isSafeInteger(skip + limit + 1))
622
+ return readAll();
623
+ collection.findOne({ walletId, createdOn: null }, { projection: { _id: 1 } }, (err, unordered) => {
624
+ if (err)
625
+ return cb(err);
626
+ if (unordered)
627
+ return readAll();
628
+ const count = skip + limit;
629
+ collection.find(query).sort({ createdOn: opts.reverse ? -1 : 1 }).limit(count + 1).toArray((err, docs) => {
630
+ if (err)
631
+ return cb(err);
632
+ if (docs.length <= count || docs[count].createdOn !== docs[count - 1].createdOn) {
633
+ return cb(null, page(docs.slice(0, count)));
634
+ }
635
+ collection.find({ ...query, createdOn: docs[count - 1].createdOn }).toArray((err, ties) => {
636
+ if (err)
637
+ return cb(err);
638
+ const read = new Set(docs.slice(0, count).map(doc => String(doc._id)));
639
+ return cb(null, page([...docs.slice(0, count), ...ties.filter(doc => !read.has(String(doc._id)))]));
640
+ });
641
+ });
642
+ });
643
+ }
594
644
  migrateToCashAddr(walletId, cb) {
595
645
  const cursor = this.db.collection(collections.ADDRESSES).find({
596
646
  walletId
@@ -1058,7 +1108,7 @@ class Storage {
1058
1108
  return cb(null, result);
1059
1109
  });
1060
1110
  }
1061
- fetchTxNote(walletId, txid, cb) {
1111
+ fetchTxNote(walletId, txid, cb, wallet) {
1062
1112
  this.db.collection(collections.TX_NOTES).findOne({
1063
1113
  walletId,
1064
1114
  txid
@@ -1067,20 +1117,23 @@ class Storage {
1067
1117
  return cb(err);
1068
1118
  if (!result)
1069
1119
  return cb();
1070
- return this._completeTxNotesData(walletId, model_1.TxNote.fromObj(result), cb);
1120
+ return this._completeTxNotesData(walletId, model_1.TxNote.fromObj(result), cb, wallet);
1071
1121
  });
1072
1122
  }
1073
- _completeTxNotesData(walletId, notes, cb) {
1074
- this.fetchWallet(walletId, (err, wallet) => {
1123
+ _completeTxNotesData(walletId, notes, cb, wallet) {
1124
+ const complete = (err, wallet) => {
1075
1125
  if (err)
1076
1126
  return cb(err);
1077
1127
  for (const note of [].concat(notes)) {
1078
1128
  note.editedByName = wallet.getCopayer(note.editedBy).name;
1079
1129
  }
1080
1130
  return cb(null, notes);
1081
- });
1131
+ };
1132
+ if (wallet)
1133
+ return complete(null, wallet);
1134
+ this.fetchWallet(walletId, complete);
1082
1135
  }
1083
- fetchTxNotes(walletId, opts, cb) {
1136
+ fetchTxNotes(walletId, opts, cb, wallet) {
1084
1137
  const filter = {
1085
1138
  walletId
1086
1139
  };
@@ -1097,7 +1150,7 @@ class Storage {
1097
1150
  const notes = lodash_1.default.compact(lodash_1.default.map(result, note => {
1098
1151
  return model_1.TxNote.fromObj(note);
1099
1152
  }));
1100
- return this._completeTxNotesData(walletId, notes, cb);
1153
+ return this._completeTxNotesData(walletId, notes, cb, wallet);
1101
1154
  });
1102
1155
  }
1103
1156
  storeTxNote(txNote, cb) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,oDAAuB;AACvB,iDAAmC;AACnC,kEAA0C;AAC1C,iEAA8D;AAC9D,qCAAkC;AAClC,sDAA8B;AAC9B,mCAYiB;AACjB,iDAAmD;AACnD,6CAAiD;AAKjD,MAAM,CAAC,GAAG,uBAAa,CAAC,SAAS,EAAE,CAAC;AAEpC,MAAM,WAAW,GAAG;IAElB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,QAAQ,GAAG,eAAM,CAAC,QAAQ,CAAC;AACjC,MAAM,KAAK,GAAG,eAAM,CAAC,KAAK,CAAC;AAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAElC,MAAM,YAAY,GAAG,UAAS,IAAI;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC;AACnE,CAAC,CAAC;AACF,MAAa,OAAO;IAClB,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC;IACjC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,EAAE,CAAK;IACP,MAAM,CAAM;IAEZ,YAAY,OAAoB,EAAE;QAChC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAE;QACrB,gBAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACnB,gBAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;YAC7C,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC;YACrD,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC;YACrD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;YACzC,QAAQ,EAAE,CAAC;YACX,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;YACzC,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;YACzC,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC,CAAC;SACd,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;YACzC,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;YACnD,QAAQ,EAAE,CAAC;YACX,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,WAAW,CACnD;YACE,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC;SACT,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QACF,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAC/C,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAC9C;YACE,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,CAAC;SACR,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QACF,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAC/C,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAC/C,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;YACjD,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;YACjD,cAAc,EAAE,CAAC;SAClB,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;YAC3C,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;YAC9C,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;YACjD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;YACjD,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC;YAC5D,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC;YAC1D,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC;SACR,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC;YAC1D,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;YAC9C,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;YAChD,EAAE,EAAE,CAAC;SACN,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;YAC9C,EAAE,EAAE,CAAC;SACN,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAChC,CAAC;YACD,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,mCAAmC,CAAC;YAC9D,gBAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,gBAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACpF,IAAI,GAAG,EAAE,CAAC;gBACR,gBAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBACzE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,gBAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAE3D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,EAAE,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,EAAE;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW,CAAC,EAAE,EAAE,EAAwC;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;QAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAC7C;YACE,EAAE;SACH,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAM,EAAE,EAAE;QACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,CAChD;YACE,EAAE,EAAE,MAAM,CAAC,EAAE;SACd,EACD,MAAM,CAAC,QAAQ,EAAE,EACjB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,kCAAkC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC3D,IAAI,CAAC;gBACH,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,0FAA0F,CAAC,CAAC;YACnI,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,UAAU,CACxD;YACE,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,GAAG,CAAC,EAAE;YACJ,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,UAAU,CACxD,cAAc,EACd;gBACE,CAAC,EAAE,CAAC;aACL,EACD,GAAG,CAAC,EAAE;gBACJ,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,CAAC,cAAc,GAAG;gBACtB;oBACE,GAAG,EAAE,MAAM,CAAC,aAAa;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;aACF,CAAC;QACJ,CAAC;QAED,OAAO,eAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAID,eAAe,CAAC,QAAgB,EAAE,GAA8B,EAAE,EAAwD,EAAE,MAAe;QACzI,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAc,EAAE,EAAE;YACvC,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAiB,EAAE,CAAC;gBAChD,EAAE,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC;gBAC7D,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gBACtD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBAChC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gBAChE,CAAC;gBAED,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU;oBACzB,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAGD,OAAO,CAAC,QAAgB,EAAE,YAAoB,EAAE,EAAwC,EAAE,MAAe;QACvG,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,CAAC;QAE1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CACzC;YACE,EAAE,EAAE,YAAY;YAChB,QAAQ;SACT,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,kBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,CAAC;QAE1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CACzC;YACE,IAAI,EAAE,IAAI;SACX,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC,CACF,CAAC;IACJ,CAAC;IAID,sBAAsB,CAAC,QAAgB,EAAE,IAAI,EAAE,EAAwC,EAAE,MAAe;QACtG,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,CAAC;QAE1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CACzC;YACE,QAAQ;YACR,IAAI,EAAE,IAAI;SACX,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,kBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3B,IAAI,CACH;YACE,QAAQ;YACR,SAAS;SACV,EACD;YACE,KAAK,EAAE,KAAK,IAAI,CAAC;SAClB,CACF;aACA,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC;SACd,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7B,OAAO,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAC,gBAAgB;QACjC,OAAO,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI,CAAC,EAAE;iBACJ,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;iBAC3B,IAAI,CAAC;gBACJ,IAAI,EAAE,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;aACxE,CAAC;iBACD,IAAI,CAAC;gBACJ,SAAS,EAAE,CAAC,CAAC;aACd,CAAC;iBACD,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;gBAC7B,IAAI,GAAG;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,EAAE,CAAC;gBAC7B,MAAM,iCAAiC,GAAQ,gBAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;gBAC9F,MAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,gBAAC,CAAC,OAAO,CACnB,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBACjB,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC;wBAChC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;oBACtB,EAAE,CAAC,YAAY,GAAG,iCAAiC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC9E,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;wBAChC,IAAI,gBAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;4BACtF,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;wBACzB,CAAC;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpB,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACxF,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,OAAO,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC,CAAC,CACH,CAAC;gBAEF,KAAK,MAAM,EAAE,IAAI,GAAmB,EAAE,CAAC;oBACrC,IAAI,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;wBACjC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAe;QAC3C,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC;YACJ,QAAQ;YACR,SAAS,EAAE,IAAI;SAChB,CAAC;aACD,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC;SACd,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7B,OAAO,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAUD,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAe;QAC1C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAqC,EAAE,CAAC;QACtD,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvD,MAAM,MAAM,GAAsD;YAChE,QAAQ;SACT,CAAC;QACF,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QAEtD,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEpD,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;aAClB,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC;SACd,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7B,OAAO,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAUD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAe;QACrD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAqC,EAAE,CAAC;QACtD,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvD,MAAM,MAAM,GAIR;YACF,QAAQ;YACR,MAAM,EAAE,aAAa;SACtB,CAAC;QACF,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC;QAE1D,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEpD,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;aAClB,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC;SACd,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7B,OAAO,kBAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IASD,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;QACpD,SAAS,MAAM,CAAC,SAAS;YACvB,OAAO,gBAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,gBAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,GAAG,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC;aACrC,IAAI,CAAC;YACJ,QAAQ;YACR,EAAE,EAAE;gBACF,GAAG,EAAE,KAAK;aACX;SACF,CAAC;aACD,IAAI,CAAC;YACJ,EAAE,EAAE,CAAC;SACN,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;gBACjD,OAAO,oBAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;QAE1C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,gBAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,YAAY,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS,CACrD,YAAY,EACZ;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAGD,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAC5C;YACE,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,QAAQ;SACT,EACD,GAAG,CAAC,QAAQ,EAAE,EACd;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;QACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAC3C;YACE,EAAE,EAAE,YAAY;YAChB,QAAQ;SACT,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,QAAQ,EAAE,EAAE;QACvB,KAAK,CAAC,QAAQ,CACZ;YACE,IAAI,CAAC,EAAE;gBACL,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAC/C;oBACE,EAAE,EAAE,QAAQ;iBACb,EACD,IAAI,CACL,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,EAAE;gBACL,MAAM,gBAAgB,GAAa,gBAAC,CAAC,OAAO,CAAC,gBAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzF,KAAK,CAAC,IAAI,CACR,gBAAgB,EAChB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACZ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAChC;wBACE,QAAQ;qBACT,EACD,IAAI,CACL,CAAC;gBACJ,CAAC,EACD,IAAI,CACL,CAAC;YACJ,CAAC;SACF,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAQ,EAAE,EAAE;QACzB,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;aACjC,IAAI,CAAC;YACJ,QAAQ;SACT,CAAC;aACD,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC;SACb,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACP,CAAC;IAaD,kBAAkB,CAChB,QAAgB,EAChB,IAAoG,EACpG,EAA8C;QAE9C,MAAM,KAAK,GAA+F,EAAE,QAAQ,EAAE,CAAC;QAEvH,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;YAClB,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,eAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,OAAO;gBAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,IAAI;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACxF,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAIH,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;YAAE,OAAO,OAAO,EAAE,CAAC;QAIhG,UAAU,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;YAC/F,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,SAAS;gBAAE,OAAO,OAAO,EAAE,CAAC;YAIhC,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvG,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChF,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxF,IAAI,GAAG;wBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAC5D,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,WAAW,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC;YACN,IAAI,CAAC;gBACH,CAAC,GAAG,2CAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,QAAQ,EAAE,EAAE;QAC/B,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;aACjC,IAAI,CAAC;YACJ,QAAQ;YACR,YAAY,EAAE,IAAI;SACnB,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;aACjC,IAAI,CAAC;YACJ,QAAQ;YACR,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM;aACb;SACF,CAAC;aACD,IAAI,CAAC;YACJ,SAAS,EAAE,CAAC;SACb,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,eAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAClD;YACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EACD,OAAO,EACP;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,KAAK;SACd,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,SAAS,EAAE,EAAE;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAClD;YACE,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;SAC5B,EACD,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAChC;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,KAAK;SACd,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,EAAE;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAC/C;YACE,EAAE,EAAE,QAAQ;SACb,EACD,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAChC;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,KAAK;SACd,EACD,GAAG,EAAE;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAClD;gBACE,QAAQ;aACT,EACD,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAChC;gBACE,CAAC,EAAE,CAAC;gBACJ,MAAM,EAAE,KAAK;aACd,EACD,GAAG,EAAE;gBACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QACzC,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,SAAS,CAAC;QAEd,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAClD,eAAe,EACf;YACE,CAAC,EAAE,CAAC;SACL,EACD,GAAG,CAAC,EAAE;YAEJ,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBAEN,SAAS,GAAG,IAAI,CAAC;oBACjB,gBAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;gBAC7B,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAC/C;YACE,QAAQ;YACR,OAAO;SACR,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC,IAAI,EAAE,eAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QAC9C,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;aACjC,IAAI,CACH;YACE,QAAQ;YACR,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;SAC5B,EACD,EAAE,CACH;aACA,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,CAAC;QAE1B,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;aACjC,IAAI,CAAC;YACJ,OAAO;SACR,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBAChC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC,IAAI,EAAE,eAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAwC,QAAgB,EAAE,SAAwB,EAAE,EAAwC;QAC1I,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;aACnC,IAAI,CAAC;YACJ,QAAQ;SACT,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAExB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,EAAE;oBACtB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,MAAM,WAAW,GAAG,gBAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC/C,OAAO,mBAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC,IAAI,EAAE,WAAgB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,WAAW,EAAE,EAAE;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,CACpD;YACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,EACD,WAAW,EACX;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,EAAE;QAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,UAAU,CACpD;YACE,EAAE,EAAE,KAAK,CAAC,EAAE;SACb,EACD,KAAK,EACL;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,EAAE;QAClB,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;aACnC,IAAI,CAAC;YACJ,MAAM,EAAE,MAAM;SACf,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBAC/B,OAAO,aAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wBAAwB,CAAC,cAA+B,EAAE,EAAsC;QAC9F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CACjD;YACE,cAAc;SACf,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC,IAAI,EAAE,aAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,QAAQ,EAAE,EAAE;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAC3C;YACE,QAAQ;YACR,IAAI,EAAE,sBAAsB;YAC5B,GAAG,EAAE,IAAI;SACV,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBACT,OAAO,EAAE,CAAC,IAAI,EAAE;oBACd,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;YAEL,OAAO,EAAE,CAAC,IAAI,EAAE;gBACd,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,QAAQ,EAAE,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAC3C;YACE,QAAQ;YACR,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,IAAI;SACV,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,QAAQ;YACR,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,IAAI;SACV,EACD;YACE,QAAQ;YACR,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,IAAI;YACT,cAAc;SACf,EACD;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAWD,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YAC5D,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAExB,IAAI,gBAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAGrD,IAAI,aAAa,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;YAErD,IAAI,aAAa,GAAG,CAAC;gBAAE,aAAa,GAAG,CAAC,CAAC;YACzC,IAAI,YAAY,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAI3C,IAAI,CAAC,EAAE;iBACJ,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC7B,IAAI,CAAC;gBACJ,QAAQ;gBACR,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE;oBACH,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,YAAY;iBAClB;aACF,CAAC;iBACD,IAAI,CAAC;gBACJ,GAAG,EAAE,CAAC,CAAC;aACR,CAAC;iBACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACvB,IAAI,GAAG;oBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,QAAQ,EAAE,EAAE;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,QAAQ;SACT,EACD,EAAE,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAKD,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;QAEnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,GAAG,EAAE,IAAI;SACV,EACD;YACE,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,GAAG,EAAE,IAAI;YACT,SAAS;YACT,KAAK;SACN,EACD;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,QAAQ,EAAE,EAAE;QACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,GAAG,EAAE,IAAI;SACV,EACD,EAAE,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,QAAQ,EAAE,EAAE;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAC3C;YACE,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,GAAG,EAAE,IAAI;SACV,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAUD,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAC/D,IAAI,KAAK,GAAG,gBAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClD,IAAI,GAAG,CAAC;QAQR,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CACR,KAAK,EACL,CAAC,IAAuD,EAAE,IAAI,EAAE,EAAE;YAChE,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;YAErB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAC7C;gBACE,QAAQ;gBACR,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,GAAG;gBACR,EAAE,EAAE,IAAI;aACT,EACD,IAAI,CACL,CAAC;QACJ,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAMxB,MAAM,KAAK,GAAc,gBAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,GAAc,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,CAAC;gBACH,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,0EAA0E,CAAC,CAAC;gBACpG,CAAC,CAAC,UAAU,CACV,IAAI,CAAC,WAAW,EAChB,iFAAiF,CAClF,CAAC;gBACF,CAAC,CAAC,UAAU,CACV,KAAK,CAAC,WAAW,EACjB,iFAAiF,CAClF,CAAC;gBACF,CAAC,CAAC,UAAU,CACV,IAAI,CAAC,WAAW,IAAI,CAAC,EACrB,6EAA6E,CAC9E,CAAC;gBAGF,CAAC,CAAC,UAAU,CACV,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EACrC,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YAED,gBAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,WAAW,cAAc,YAAY,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;gBACE,QAAQ;gBACR,IAAI,EAAE,sBAAsB;gBAC5B,GAAG,EAAE,IAAI;aACV,EACD;gBACE,QAAQ;gBACR,IAAI,EAAE,sBAAsB;gBAC5B,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,SAAS,EAAE,IAAI,CAAC,WAAW;aAC5B,EACD;gBACE,CAAC,EAAE,CAAC;gBACJ,MAAM,EAAE,IAAI;aACb,EACD,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,KAAK,EACL,CAAC,IAAqC,EAAE,IAAI,EAAE,EAAE;YAC9C,MAAM,CAAC,GAAG;gBACR,EAAE,EAAE,GAAG;gBACP,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CACnD,CAAC,EACD;gBACE,CAAC,EAAE,CAAC;aACL,EACD,IAAI,CACL,CAAC;QACJ,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAC9B,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;aACnC,IAAI,CAAC;YACJ,IAAI;YACJ,IAAI;YACJ,EAAE,EAAE;gBACF,IAAI,EAAE,EAAE;aACT;SACF,CAAC;aACD,IAAI,CAAC;YACJ,EAAE,EAAE,CAAC,CAAC;SACP,CAAC;aACD,KAAK,CAAC,CAAC,CAAC;aACR,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;aACnC,IAAI,CAAC;YACJ,IAAI;YACJ,IAAI;YACJ,EAAE,EAAE;gBACF,IAAI,EAAE,EAAE;aACT;SACF,CAAC;aACD,IAAI,CAAC;YACJ,EAAE,EAAE,CAAC,CAAC;SACP,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG,IAAI,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAsC,EAAE,MAAe;QACjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9C;YACE,QAAQ;YACR,IAAI;SACL,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC,CACF,CAAC;IACJ,CAAC;IAID,oBAAoB,CAAC,QAAQ,EAAE,KAAwB,EAAE,EAAkD,EAAE,MAAe;QAC1H,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAc,EAAE,EAAE;YACvC,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAa,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YAC5D,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAQD,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAe;QAC9C,MAAM,MAAM,GAAsD;YAChE,QAAQ;SACT,CAAC;QACF,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,CAAC,QAAQ,GAAG;gBAChB,IAAI,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC;QACJ,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;aAChC,IAAI,CAAC,MAAM,CAAC;aACZ,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAC,CAAC,OAAO,CACrB,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO,cAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,MAAM,EAAE,EAAE;QACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CACjD;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,EACD,MAAM,CAAC,QAAQ,EAAE,EACjB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,SAAS,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9C;YACE,SAAS;SACV,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CACjD;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EACD,OAAO,CAAC,QAAQ,EAAE,EAClB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,SAAS,EAAE,EAAE;QACrC,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC;aAC9C,IAAI,CAAC;YACJ,SAAS;SACV,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC1C,OAAO,2BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B,CAAC,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,2BAA2B,CAAC;QAC7E,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC;aAC9C,IAAI,CAAC;YACJ,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC3C;SACF,CAAC;aACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;aACjB,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC1C,OAAO,2BAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wBAAwB,CAAC,mBAAmB,EAAE,EAAE;QAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAC/D;YACE,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,KAAK,EAAE,mBAAmB,CAAC,KAAK;SACjC,EACD,mBAAmB,EACnB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAC/D;YACE,SAAS;YACT,KAAK;SACN,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,mBAAmB,EAAE,EAAE;QACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAC/D;YACE,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,cAAc,EAAE,mBAAmB,CAAC,cAAc;SACnD,EACD,mBAAmB,EACnB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,8BAA8B,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;QAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAC/D;YACE,SAAS;YACT,cAAc;SACf,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,8BAA8B,CAAC,SAAiB,EAAE,KAAe;QAE/D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,gBAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAuE;YACjF,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACrB,CAAC;QAEF,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5C,OAAO,IAAI,CAAC,EAAE;aACX,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC;aAC5C,IAAI,CAAC,MAAM,CAAC;aACZ,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,iBAAiB,EAAE,EAAE;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAC7D;YACE,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,EACD,iBAAiB,EACjB;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAC7D;YACE,SAAS;YACT,IAAI;SACL,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,EAAE,EAAE,EAAE;QACV,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC;QACvB,EAAE,GAAG,EAAE,IAAI,cAAY,CAAC,CAAC;QAEzB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YACvC,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,CAAC,UAAU,CACd,WAAW,EACX,CAAC,GAAQ,EAAE,IAAI,EAAE,EAAE;gBACjB,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAChC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC3B,EAAE,CAAC,KAAK,CAAC,CAAC;oBACV,EAAE,CAAC,wEAAwE,CAAC,CAAC;oBAC7E,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,EACD,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAC3C;YACE,GAAG;YACH,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,GAAG,QAAQ,GAAG,GAAG,CAAC;YAGzC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAC7C;YACE,GAAG;YACH,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,EACD;YACE,IAAI,EAAE;gBACJ,EAAE,EAAE,GAAG;gBACP,MAAM,EAAE,MAAM;aACf;SACF,EACD;YACE,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,GAAG;YACH,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,WAAW,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnF,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,WAAW,CAAC;YAChB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;gBACvC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC1B,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACxG,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACrD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAC7C;YACE,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,QAAQ;SACnB,EACD,EAAE,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAC9C;YACE,GAAG,EAAE,GAAG;SACT,EACD,EAAE,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAC3C;YACE,GAAG,EAAE,GAAG;SACT,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,IAAI,CAAC,GAAG;gBAAE,OAAO;YAExB,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC9B,gBAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,EAAE;QACpB,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC;aACtC,IAAI,CAAC;YACJ,SAAS,EAAE,IAAI;SAChB,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAC,EAAE;QACnB,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC;aACtC,IAAI,CAAC;YACJ,UAAU,EAAE,IAAI;SACjB,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,CAAC,EAAE;aACJ,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC;aACtC,IAAI,CAAC;YACJ,OAAO;SACR,CAAC;aACD,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvB,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,GAAG;QACjB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,EAAE;QACnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CACtD;YACE,eAAe,EAAE,IAAI;SACtB,EACD;YACE,CAAC,EAAE,CAAC;SACL,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAM,EAAE,EAAE;QACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CACtD;YACE,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,EACD,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB;YACE,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,EAAE;QAClB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CACpD;YACE,eAAe,EAAE,IAAI;SACtB,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,GAAG;gBAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,EAAE,CAAC;YAEzB,OAAO,EAAE,CAAC,IAAI,EAAE,qBAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CACtD;YACE,eAAe,EAAE,IAAI;SACtB,EACD,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAChD;YACE,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,SAAS,CACtD;YACE,eAAe,EAAE,IAAI;SACtB,EACD;YACE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;SAC7C,EACD;YACE,MAAM,EAAE,IAAI;SACb,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAkB;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,0BAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAA2B;QAC1D,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAuE;QACxI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CACvE,EAAE,EAAE,EAAE,GAAG,EAAE,EACX;YACE,IAAI,EAAE;gBACJ,CAAC,kBAAkB,OAAO,EAAE,CAAC,EAAE,aAAa;aAC7C;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC;aACP;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAmE;QAC9H,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CACvE,EAAE,EAAE,EAAE,GAAG,EAAE,EACX;YACE,IAAI,EAAE;gBACJ,CAAC,gBAAgB,OAAO,EAAE,CAAC,EAAE,SAAS;aACvC;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC;aACP;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAA8D;QAC1G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CACvE,EAAE,EAAE,EAAE,GAAG,EAAE,EACX;YACE,KAAK,EAAE;gBACL,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;oBAC3B,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC;aACP;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAqC;QAChF,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CACzD,EAAE,EAAE,EAAE,EACN;YACE,IAAI,EAAE;gBACJ,eAAe,EAAE,SAAS;aAC3B;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAA8D;QACnH,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CACzD,EAAE,EAAE,EAAE,EACN;YACE,IAAI,EAAE;gBACJ,CAAC,aAAa,OAAO,EAAE,CAAC,EAAE,iBAAiB;aAC5C;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAkC;QAC3E,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;YAC1D,EAAE;SACH,EACD;YACE,IAAI,EAAE;gBACJ,aAAa,EAAE,MAAM;aACtB;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAkB;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,wBAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAA2B;QACvD,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAmE;QAC3H,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CACrE,EAAE,EAAE,EAAE,GAAG,EAAE,EACX;YACE,KAAK,EAAE;gBACL,YAAY,EAAE;oBACZ,OAAO;oBACP,SAAS;iBACV;aACF;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAA8D;QACvG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CACrE,EAAE,EAAE,EAAE,GAAG,EAAE,EACX;YACE,KAAK,EAAE;gBACL,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;oBAC3B,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC;aACP;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAgE;QACrG,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CACvD,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EACrE;YACE,IAAI,EAAE;gBACJ,SAAS;aACV;SACF,EACD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAkB;QAC9C,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;;AAv8DH,0BAy8DC"}
@@ -48,6 +48,65 @@ describe('Chain ETH', function () {
48
48
  chain_1.ChainService.addressFromStorageTransform('eth', 'dfg', x);
49
49
  x.address.should.equal('0x01');
50
50
  });
51
+ describe('#onTx', function () {
52
+ const token = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
53
+ const sender = '0xC877cBCF020A8AA259A1Efab1559B2A3A7259086';
54
+ const recipient = '0x37D3bCDA9d7d5Dc41e32DAd77a5BA89a77aA8BD0';
55
+ const multisig = '0x9527a556f0D9AA753dE0D1f9Ad024a17dd281B1D';
56
+ const tx = (fields = {}) => ({ chain: 'ETH', network: 'mainnet', txid: '0x01', to: token, from: sender, value: 0, ...fields });
57
+ const erc20 = { type: 'ERC20:transfer', to: recipient, from: sender, amount: '1000000', contractAddress: token, callStack: '' };
58
+ const internal = { to: recipient, from: sender, amount: '2000', callStack: '0' };
59
+ const multisigEffect = type => ({ type, to: recipient, from: sender, amount: '3000', contractAddress: multisig, callStack: '' });
60
+ it('notifies the tx recipient and value for a tx without effects', function () {
61
+ chain_1.ChainService.onTx('eth', tx({ to: recipient, value: 5000 })).should.deep.equal({
62
+ txid: '0x01',
63
+ out: { address: recipient, amount: 5000, tokenAddress: undefined, multisigContractAddress: undefined }
64
+ });
65
+ chain_1.ChainService.onTx('eth', tx({ to: recipient, value: 5000, effects: [] })).out.should.deep.equal({
66
+ address: recipient, amount: 5000, tokenAddress: undefined, multisigContractAddress: undefined
67
+ });
68
+ });
69
+ it('notifies the recipient of an internal value transfer', function () {
70
+ chain_1.ChainService.onTx('eth', tx({ effects: [internal] })).out.should.deep.equal({
71
+ address: recipient, amount: '2000', tokenAddress: undefined, multisigContractAddress: undefined
72
+ });
73
+ });
74
+ for (const type of ['MULTISIG:confirmTransaction', 'MULTISIG:submitTransaction']) {
75
+ it(`notifies the recipient of a ${type} with its multisig contract`, function () {
76
+ chain_1.ChainService.onTx('eth', tx({ effects: [internal, multisigEffect(type)] })).out.should.deep.equal({
77
+ address: recipient, amount: '3000', tokenAddress: undefined, multisigContractAddress: multisig
78
+ });
79
+ });
80
+ }
81
+ it('prefers a multisig effect to an ERC20 transfer', function () {
82
+ chain_1.ChainService.onTx('eth', tx({ effects: [erc20, multisigEffect('MULTISIG:submitTransaction')] })).out.should.deep.equal({
83
+ address: recipient, amount: '3000', tokenAddress: undefined, multisigContractAddress: multisig
84
+ });
85
+ });
86
+ it('falls back to the tx recipient for effects it does not know', function () {
87
+ const other = { type: 'OTHER:call', to: recipient, from: sender, amount: '1', contractAddress: token, callStack: '' };
88
+ chain_1.ChainService.onTx('eth', tx({ effects: [other] })).out.should.deep.equal({
89
+ address: token, amount: 0, tokenAddress: undefined, multisigContractAddress: undefined
90
+ });
91
+ });
92
+ it('handles MATIC txs the same way', function () {
93
+ chain_1.ChainService.onTx('matic', tx({ chain: 'MATIC', to: recipient, value: 5000 })).out.should.deep.equal({
94
+ address: recipient, amount: 5000, tokenAddress: undefined, multisigContractAddress: undefined
95
+ });
96
+ });
97
+ it('notifies the token recipient, amount and token of an ERC20 transfer', function () {
98
+ chain_1.ChainService.onTx('eth', tx({ effects: [erc20] })).should.deep.equal({
99
+ txid: '0x01',
100
+ out: { address: recipient, amount: '1000000', tokenAddress: token, multisigContractAddress: undefined }
101
+ });
102
+ chain_1.ChainService.onTx('matic', tx({ chain: 'MATIC', effects: [erc20] })).out.tokenAddress.should.equal(token);
103
+ });
104
+ it('prefers an ERC20 transfer to an internal value transfer', function () {
105
+ chain_1.ChainService.onTx('eth', tx({ effects: [internal, erc20] })).out.should.deep.equal({
106
+ address: recipient, amount: '1000000', tokenAddress: token, multisigContractAddress: undefined
107
+ });
108
+ });
109
+ });
51
110
  describe('#selectTxInputs', function () {
52
111
  it('should reject a total that a number rounds down to the balance', function (done) {
53
112
  const server = {
@@ -1 +1 @@
1
- {"version":3,"file":"eth.test.js","sourceRoot":"","sources":["../../../test/chain/eth.test.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,2CAA6B;AAC7B,+CAAmD;AACnD,+DAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAE7B,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,sCAAsC,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC9B,oBAAY,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAClC,oBAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,EAAE,CAAC,gEAAgE,EAAE,UAAS,IAAI;YAChF,MAAM,MAAM,GAAG;gBACb,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;aAC1G,CAAC;YACF,MAAM,GAAG,GAAG,uBAAU,CAAC,OAAO,CAAC;gBAC7B,GAAG,IAAI,EAAE;gBACT,OAAO,EAAE;oBACP,EAAE,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE;oBACpD,EAAE,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;iBACtC;aACK,CAAC,CAAC;YAEV,oBAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAa,EAAE,GAAG,EAAE,EAAS,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;gBAC9E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC5C,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG;IACX,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,UAAU;QACrB,EAAE,EAAE,sCAAsC;QAC1C,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,4CAA4C,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrG,MAAM,EAAE,SAAkB;QAC1B,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"eth.test.js","sourceRoot":"","sources":["../../../test/chain/eth.test.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ describe('Chain SOL', function () {
60
60
  getRentMinimum: (_space, cb) => cb(null, defaults_1.Defaults.MIN_SOL_BALANCE)
61
61
  }),
62
62
  getPendingTxs: (_opts, cb) => cb(null, c.txps),
63
- storage: { fetchAddresses: (_walletId, cb) => cb(null, []) }
63
+ storage: { fetchAddressesPage: (_walletId, _opts, cb) => cb(null, []) }
64
64
  };
65
65
  const wallet = { chain: 'sol', network: 'livenet' };
66
66
  chain_1.ChainService.get('sol').getWalletBalance(server, wallet, { tokenAddress: c.tokenAddress }, (err, balance) => {