@bsv/sdk 1.7.7 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/kvstore/GlobalKVStore.js +420 -0
  3. package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -0
  4. package/dist/cjs/src/kvstore/LocalKVStore.js +6 -6
  5. package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
  6. package/dist/cjs/src/kvstore/kvStoreInterpreter.js +74 -0
  7. package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -0
  8. package/dist/cjs/src/kvstore/types.js +11 -0
  9. package/dist/cjs/src/kvstore/types.js.map +1 -0
  10. package/dist/cjs/src/overlay-tools/Historian.js +153 -0
  11. package/dist/cjs/src/overlay-tools/Historian.js.map +1 -0
  12. package/dist/cjs/src/script/templates/PushDrop.js +2 -2
  13. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  14. package/dist/cjs/src/transaction/Transaction.js +4 -4
  15. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  16. package/dist/cjs/src/transaction/fee-models/LivePolicy.js +90 -0
  17. package/dist/cjs/src/transaction/fee-models/LivePolicy.js.map +1 -0
  18. package/dist/cjs/src/transaction/fee-models/index.js +3 -1
  19. package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
  20. package/dist/cjs/src/wallet/WalletClient.js +43 -52
  21. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  22. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +19 -0
  23. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  24. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +18 -1
  25. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  26. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  27. package/dist/esm/src/kvstore/GlobalKVStore.js +416 -0
  28. package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -0
  29. package/dist/esm/src/kvstore/LocalKVStore.js +6 -6
  30. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
  31. package/dist/esm/src/kvstore/kvStoreInterpreter.js +47 -0
  32. package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -0
  33. package/dist/esm/src/kvstore/types.js +8 -0
  34. package/dist/esm/src/kvstore/types.js.map +1 -0
  35. package/dist/esm/src/overlay-tools/Historian.js +155 -0
  36. package/dist/esm/src/overlay-tools/Historian.js.map +1 -0
  37. package/dist/esm/src/script/templates/PushDrop.js +2 -2
  38. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  39. package/dist/esm/src/transaction/Transaction.js +4 -4
  40. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  41. package/dist/esm/src/transaction/fee-models/LivePolicy.js +85 -0
  42. package/dist/esm/src/transaction/fee-models/LivePolicy.js.map +1 -0
  43. package/dist/esm/src/transaction/fee-models/index.js +1 -0
  44. package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
  45. package/dist/esm/src/wallet/WalletClient.js +43 -52
  46. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  47. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +19 -0
  48. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  49. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +18 -1
  50. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  51. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  52. package/dist/types/src/kvstore/GlobalKVStore.d.ts +129 -0
  53. package/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -0
  54. package/dist/types/src/kvstore/kvStoreInterpreter.d.ts +22 -0
  55. package/dist/types/src/kvstore/kvStoreInterpreter.d.ts.map +1 -0
  56. package/dist/types/src/kvstore/types.d.ts +106 -0
  57. package/dist/types/src/kvstore/types.d.ts.map +1 -0
  58. package/dist/types/src/overlay-tools/Historian.d.ts +92 -0
  59. package/dist/types/src/overlay-tools/Historian.d.ts.map +1 -0
  60. package/dist/types/src/script/templates/PushDrop.d.ts +6 -5
  61. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  62. package/dist/types/src/transaction/Transaction.d.ts +2 -2
  63. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  64. package/dist/types/src/transaction/fee-models/LivePolicy.d.ts +41 -0
  65. package/dist/types/src/transaction/fee-models/LivePolicy.d.ts.map +1 -0
  66. package/dist/types/src/transaction/fee-models/index.d.ts +1 -0
  67. package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
  68. package/dist/types/src/wallet/WalletClient.d.ts +1 -1
  69. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  70. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  71. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  72. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  73. package/dist/umd/bundle.js +3 -3
  74. package/dist/umd/bundle.js.map +1 -1
  75. package/docs/reference/script.md +7 -19
  76. package/docs/reference/transaction.md +75 -6
  77. package/docs/reference/wallet.md +1 -1
  78. package/package.json +1 -1
  79. package/src/kvstore/GlobalKVStore.ts +478 -0
  80. package/src/kvstore/LocalKVStore.ts +7 -7
  81. package/src/kvstore/__tests/GlobalKVStore.test.ts +965 -0
  82. package/src/kvstore/__tests/LocalKVStore.test.ts +72 -0
  83. package/src/kvstore/kvStoreInterpreter.ts +49 -0
  84. package/src/kvstore/types.ts +114 -0
  85. package/src/overlay-tools/Historian.ts +195 -0
  86. package/src/overlay-tools/__tests/Historian.test.ts +690 -0
  87. package/src/script/templates/PushDrop.ts +6 -5
  88. package/src/transaction/Transaction.ts +4 -4
  89. package/src/transaction/fee-models/LivePolicy.ts +97 -0
  90. package/src/transaction/fee-models/__tests/LivePolicy.test.ts +148 -0
  91. package/src/transaction/fee-models/index.ts +1 -0
  92. package/src/wallet/WalletClient.ts +50 -51
  93. package/src/wallet/substrates/WalletWireProcessor.ts +21 -0
  94. package/src/wallet/substrates/WalletWireTransceiver.ts +22 -10
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Historian = void 0;
4
+ /**
5
+ * Historian builds a chronological history (oldest → newest) of typed values by traversing
6
+ * a transaction's input ancestry and interpreting each output with a provided interpreter.
7
+ *
8
+ * Core ideas:
9
+ * - You provide an interpreter `(tx, outputIndex) => T | undefined` that decodes one output
10
+ * into your domain value (e.g., kvstore entries). If it returns `undefined`, that output
11
+ * contributes nothing to history.
12
+ * - Traversal follows `Transaction.inputs[].sourceTransaction` recursively, so callers must
13
+ * supply transactions whose inputs have `sourceTransaction` populated (e.g., via overlay
14
+ * history reconstruction).
15
+ * - The traversal visits each transaction once (cycle-safe) and collects interpreted values
16
+ * in reverse-chronological order, then returns them as chronological (oldest-first).
17
+ * - Optional caching support: provide a `historyCache` Map to cache complete history results
18
+ * and avoid re-traversing identical transaction chains with the same context.
19
+ *
20
+ * Usage:
21
+ * - Construct with an interpreter (and optional cache)
22
+ * - Call historian.buildHistory(tx, context) to get an array of values representing the history of a token over time.
23
+ *
24
+ * Example:
25
+ * const cache = new Map() // Optional: for caching repeated queries
26
+ * const historian = new Historian(interpreter, { historyCache: cache })
27
+ * const history = await historian.buildHistory(tipTransaction, context)
28
+ * // history: T[] (e.g., prior values for a protected kvstore key)
29
+ *
30
+ * Caching:
31
+ * - Cache keys are generated from `interpreterVersion|txid|contextKey`
32
+ * - Cached results are immutable snapshots to prevent external mutation
33
+ * - Bump `interpreterVersion` when interpreter semantics change to invalidate old cache entries
34
+ */
35
+ class Historian {
36
+ /**
37
+ * Create a new Historian instance
38
+ *
39
+ * @param interpreter - Function to interpret transaction outputs into typed values
40
+ * @param options - Configuration options
41
+ * @param options.debug - Enable debug logging (default: false)
42
+ * @param options.historyCache - Optional external cache for complete history results
43
+ * @param options.interpreterVersion - Version identifier for cache invalidation (default: 'v1')
44
+ * @param options.ctxKeyFn - Custom function to serialize context for cache keys (default: JSON.stringify)
45
+ */
46
+ constructor(interpreter, options) {
47
+ this.interpreter = interpreter;
48
+ this.debug = options?.debug ?? false;
49
+ // Configure caching (all optional)
50
+ this.historyCache = options?.historyCache;
51
+ this.interpreterVersion = options?.interpreterVersion ?? 'v1';
52
+ this.ctxKeyFn = options?.ctxKeyFn ?? ((ctx) => {
53
+ try {
54
+ return JSON.stringify(ctx ?? null);
55
+ }
56
+ catch {
57
+ return '';
58
+ }
59
+ });
60
+ }
61
+ historyKey(startTransaction, context) {
62
+ const txid = startTransaction.id('hex');
63
+ const ctxKey = this.ctxKeyFn(context);
64
+ return `${this.interpreterVersion}|${txid}|${ctxKey}`;
65
+ }
66
+ /**
67
+ * Build history by traversing input chain from a starting transaction
68
+ * Returns values in chronological order (oldest first)
69
+ *
70
+ * If caching is enabled, will first check for cached results matching the
71
+ * startTransaction and context. On cache miss, performs full traversal and
72
+ * stores the result for future queries.
73
+ *
74
+ * @param startTransaction - The transaction to start traversal from
75
+ * @param context - The context to pass to the interpreter
76
+ * @returns Array of interpreted values in chronological order
77
+ */
78
+ async buildHistory(startTransaction, context) {
79
+ // --- minimal cache fast path ---
80
+ if (this.historyCache != null) {
81
+ const cacheKey = this.historyKey(startTransaction, context);
82
+ if (this.historyCache.has(cacheKey)) {
83
+ const cached = this.historyCache.get(cacheKey);
84
+ if (cached != null) {
85
+ if (this.debug)
86
+ console.log('[Historian] History cache hit:', cacheKey);
87
+ // Return a shallow copy to avoid external mutation of the cached array
88
+ return cached.slice();
89
+ }
90
+ }
91
+ }
92
+ const history = [];
93
+ const visited = new Set();
94
+ // Recursively traverse input transactions to build history
95
+ const traverseHistory = async (transaction) => {
96
+ const txid = transaction.id('hex');
97
+ // Prevent infinite loops
98
+ if (visited.has(txid)) {
99
+ if (this.debug) {
100
+ console.log(`[Historian] Skipping already visited transaction: ${txid}`);
101
+ }
102
+ return;
103
+ }
104
+ visited.add(txid);
105
+ if (this.debug) {
106
+ console.log(`[Historian] Processing transaction: ${txid}`);
107
+ }
108
+ // Check all outputs in this transaction for interpretable values
109
+ for (let outputIndex = 0; outputIndex < transaction.outputs.length; outputIndex++) {
110
+ try {
111
+ // Try to interpret this output
112
+ const interpretedValue = await Promise.resolve(this.interpreter(transaction, outputIndex, context));
113
+ if (interpretedValue !== undefined) {
114
+ history.push(interpretedValue);
115
+ if (this.debug) {
116
+ console.log('[Historian] Added value to history:', interpretedValue);
117
+ }
118
+ }
119
+ }
120
+ catch (error) {
121
+ if (this.debug) {
122
+ console.log(`[Historian] Failed to interpret output ${outputIndex}:`, error);
123
+ }
124
+ // Skip outputs that can't be interpreted
125
+ }
126
+ }
127
+ // Recursively traverse input transactions
128
+ for (const input of transaction.inputs) {
129
+ if (input.sourceTransaction != null) {
130
+ await traverseHistory(input.sourceTransaction);
131
+ }
132
+ else if (this.debug) {
133
+ console.log('[Historian] Input missing sourceTransaction, skipping');
134
+ }
135
+ }
136
+ };
137
+ // Start traversal from the provided transaction
138
+ await traverseHistory(startTransaction);
139
+ // History is built in reverse chronological order during traversal,
140
+ // so we reverse it to return oldest-first
141
+ const chronological = history.reverse();
142
+ if (this.historyCache != null) {
143
+ const cacheKey = this.historyKey(startTransaction, context);
144
+ // Store an immutable snapshot to avoid accidental external mutation
145
+ this.historyCache.set(cacheKey, Object.freeze(chronological.slice()));
146
+ if (this.debug)
147
+ console.log('[Historian] History cached:', cacheKey);
148
+ }
149
+ return chronological;
150
+ }
151
+ }
152
+ exports.Historian = Historian;
153
+ //# sourceMappingURL=Historian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Historian.js","sourceRoot":"","sources":["../../../../src/overlay-tools/Historian.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ class PushDrop {
96
96
  * Creates a PushDrop locking script with arbitrary data fields and a public key lock.
97
97
  *
98
98
  * @param {number[][]} fields - The token fields to include in the locking script.
99
- * @param {[SecurityLevel, string]} protocolID - The protocol ID to use.
99
+ * @param {WalletProtocol} protocolID - The protocol ID to use.
100
100
  * @param {string} keyID - The key ID to use.
101
101
  * @param {string} counterparty - The counterparty involved in the transaction, "self" or "anyone".
102
102
  * @param {boolean} [forSelf=false] - Flag indicating if the lock is for the creator (default no).
@@ -148,7 +148,7 @@ class PushDrop {
148
148
  /**
149
149
  * Creates an unlocking script for spending a PushDrop token output.
150
150
  *
151
- * @param {[SecurityLevel, string]} protocolID - The protocol ID to use.
151
+ * @param {WalletProtocol} protocolID - The protocol ID to use.
152
152
  * @param {string} keyID - The key ID to use.
153
153
  * @param {string} counterparty - The counterparty involved in the transaction, "self" or "anyone".
154
154
  * @param {string} [sourceTXID] - The TXID of the source transaction.
@@ -1 +1 @@
1
- {"version":3,"file":"PushDrop.js","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PushDrop.js","sourceRoot":"","sources":["../../../../../src/script/templates/PushDrop.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const UnlockingScript_js_1 = __importDefault(require("../script/UnlockingScript.
7
7
  const LockingScript_js_1 = __importDefault(require("../script/LockingScript.js"));
8
8
  const utils_js_1 = require("../primitives/utils.js");
9
9
  const Hash_js_1 = require("../primitives/Hash.js");
10
- const SatoshisPerKilobyte_js_1 = __importDefault(require("./fee-models/SatoshisPerKilobyte.js"));
10
+ const LivePolicy_js_1 = __importDefault(require("./fee-models/LivePolicy.js"));
11
11
  const Spend_js_1 = __importDefault(require("../script/Spend.js"));
12
12
  const DefaultBroadcaster_js_1 = require("./broadcasters/DefaultBroadcaster.js");
13
13
  const DefaultChainTracker_js_1 = require("./chaintrackers/DefaultChainTracker.js");
@@ -363,7 +363,7 @@ class Transaction {
363
363
  }
364
364
  /**
365
365
  * Computes fees prior to signing.
366
- * If no fee model is provided, uses a SatoshisPerKilobyte fee model that pays 1 sat/kb.
366
+ * If no fee model is provided, uses a LivePolicy fee model that fetches current rates from ARC.
367
367
  * If fee is a number, the transaction uses that value as fee.
368
368
  *
369
369
  * @param modelOrFee - The initialized fee model to use or fixed fee for the transaction
@@ -371,7 +371,7 @@ class Transaction {
371
371
  * amongst the change outputs
372
372
  *
373
373
  */
374
- async fee(modelOrFee = new SatoshisPerKilobyte_js_1.default(1), changeDistribution = 'equal') {
374
+ async fee(modelOrFee = LivePolicy_js_1.default.getInstance(), changeDistribution = 'equal') {
375
375
  this.cachedHash = undefined;
376
376
  if (typeof modelOrFee === 'number') {
377
377
  const sats = modelOrFee;
@@ -672,7 +672,7 @@ class Transaction {
672
672
  *
673
673
  * @returns Whether the transaction is valid according to the rules of SPV.
674
674
  *
675
- * @example tx.verify(new WhatsOnChain(), new SatoshisPerKilobyte(1))
675
+ * @example tx.verify(new WhatsOnChain(), LivePolicy.getInstance())
676
676
  */
677
677
  async verify(chainTracker = (0, DefaultChainTracker_js_1.defaultChainTracker)(), feeModel, memoryLimit) {
678
678
  const verifiedTxids = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":";;;;;AAGA,sFAA0D;AAC1D,kFAAsD;AACtD,qDAAuE;AACvE,mDAA+C;AAE/C,+EAAmD;AAGnD,kEAAsC;AAEtC,gFAAyE;AACzE,mFAA4E;AAC5E,uCAAyC;AACzC,4EAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAqB,WAAW;IAS9B,oEAAoE;IAC5D,MAAM,CAAC,eAAe,CAC5B,GAA4C,EAC5C,YAMC,EACD,KAAmB;QAEnB,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;aAC5D;YACD,GAAG,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,CAAA;SACzB;aAAM;YACL,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;gBACjC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE;oBAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;iBACjD;gBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,UAAU,IAAI,WAAW,EAAE,CACxE,CAAA;iBACF;gBACD,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC,EAAE,CAAA;gBACtC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;aACrD;SACF;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAE,IAAc,EAAE,IAAa;QAC5C,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAClD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAE,IAAc;QACnC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,UAAU,0BAA0B,CAAC,CAAA;aACjF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;aAClF;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAEO,MAAM,CAAC,WAAW,CAAE,IAAc,EAAE,IAAa;QACvD,MAAM,CAAC,GAAG,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;QACD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,0BAA0B,CAAC,CAAA;aAC3E;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;aACtE;SACF;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,EAAY;QACzB,MAAM,EAAE,GAAG,IAAI,iBAAM,CAAC,EAAE,CAAC,CAAA;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QACjC,IAAI,IAAA,gBAAK,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;SAAE;QAClF,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,eAAe,GAAG,4BAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAC9C,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACrD,MAAM,aAAa,GAAG,0BAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;YAChE,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YACvE,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnE,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG;gBAC7C,QAAQ;gBACR,aAAa;aACd,CAAA;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,iBAAiB;gBACjB,UAAU;gBACV,iBAAiB;gBACjB,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;SACH;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,0BAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,aAAa;aACd,CAAC,CAAA;SACH;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAClC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,kBAAkB,CAAE,GAAa;QAItC,MAAM,EAAE,GAAG,IAAI,iBAAM,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,MAAM,GAA2D,EAAE,CAAA;QACzE,MAAM,OAAO,GAA4D,EAAE,CAAA;QAE3E,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,UAAU;QACtB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAA,CAAC,gBAAgB;YAC7B,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;YAC7D,EAAE,CAAC,GAAG,IAAI,YAAY,GAAG,CAAC,CAAA,CAAC,sBAAsB;SAClD;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACtC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,WAAW;YACvB,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;YAC/D,EAAE,CAAC,GAAG,IAAI,YAAY,CAAA;SACvB;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,UAAU,CAAE,EAAU;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAA,gBAAK,EAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,eAAe,GAAG,4BAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,UAAU;gBACV,iBAAiB;gBACjB,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;SACH;QACD,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;QACxC,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/C,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,0BAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,aAAa;aACd,CAAC,CAAA;SACH;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAClC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,GAAa;QAC9B,MAAM,EAAE,GAAG,IAAI,iBAAM,CAAC,GAAG,CAAC,CAAA;QAC1B,OAAO,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAW;QACzB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAA,kBAAO,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAE,GAAW;QAC3B,OAAO,WAAW,CAAC,MAAM,CAAC,IAAA,kBAAO,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAE,GAAW,EAAE,IAAa;QAC5C,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAA,kBAAO,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,YACE,UAAkB,CAAC,EACnB,SAA6B,EAAE,EAC/B,UAA+B,EAAE,EACjC,WAAmB,CAAC,EACpB,WAAgC,IAAI,GAAG,EAAE,EACzC,UAAuB;QAEvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAE,KAAuB;QAC/B,IACE,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW;YACvC,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAC9C;YACA,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAA;SACF;QACD,qFAAqF;QACrF,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE;YACzC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAA;SAC5B;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAE,MAAyB;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;gBAC1C,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;aACF;YACD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;aAAE;SAC5F;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAE,OAA0B,EAAE,QAAiB;QAC3D,MAAM,aAAa,GAAG,IAAI,kBAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;SACvD;QACD,IAAI,CAAC,SAAS,CAAC;YACb,aAAa;YACb,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAE,QAA6B;QAC3C,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ;YAChB,GAAG,QAAQ;SACZ,CAAA;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,GAAG,CACP,aAAgC,uBAAU,CAAC,WAAW,EAAE,EACxD,qBAAyC,OAAO;QAEhD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,GAAG,UAAU,CAAA;YACvB,UAAU,GAAG;gBACX,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;aAC7B,CAAA;SACF;QACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;YACtE,OAAM;SACP;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACnD,CAAC;IAEO,eAAe,CAAE,GAAW;QAClC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE;gBAC/C,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;aACF;YACD,MAAM;gBACJ,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;SACzE;QACD,MAAM,IAAI,GAAG,CAAA;QACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE;gBACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAC9B,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAA;iBACvB;aACF;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,gBAAgB,CACtB,MAAc,EACd,kBAAsC;QAEtC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,kBAAkB,KAAK,QAAQ,EAAE;YACnC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;SACvE;aAAM,IAAI,kBAAkB,KAAK,OAAO,EAAE;YACzC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;SACtE;QACD,IAAI,iBAAiB,GAAG,MAAM,EAAE;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACxD,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACrC,UAAU,CAAC,QAAQ,IAAI,MAAM,GAAG,iBAAiB,CAAA;aAClD;iBAAM;gBACL,UAAU,CAAC,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAA;aACjD;SACF;IACH,CAAC;IAEO,sBAAsB,CAC5B,MAAc,EACd,aAAkC;QAElC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,IAAI,WAAW,GAAG,MAAM,CAAA;QACxB,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1D,WAAW,IAAI,aAAa,CAAC,MAAM,CAAA;QACnC,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,OAAO,GAAW,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;YAC1D,cAAc,CAAC,CAAC,CAAC,GAAI,cAAc,CAAC,CAAC,CAAY,GAAG,OAAO,CAAA;YAC3D,iBAAiB,IAAI,OAAO,CAAA;YAC5B,WAAW,IAAI,OAAO,CAAA;SACvB;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;gBAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,CAAA;SACrE;QACD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEO,qBAAqB,CAC3B,MAAc,EACd,aAAkC;QAElC,IAAI,iBAAiB,GAAG,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;YAC/B,iBAAiB,IAAI,SAAS,CAAA;YAC9B,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAA;SACzB;QACD,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEO,aAAa,CAAE,GAAW,EAAE,GAAW;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,KAAK,CACf,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAC7D,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE;gBAC/C,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAA;aACF;YACD,OAAO;gBACL,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAA;SACzE;QACD,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;SACjC;QACD,OAAO,OAAO,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACvC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE;oBACvB,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAA;iBACF;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAA;iBACF;aACF;SACF;QACD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAwC,EAAE;YACnE,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,QAAQ,EAAE;gBAC9D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;aACpE;iBAAM;gBACL,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;aACxC;QACH,CAAC,CAAC,CACH,CAAA;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,QAAQ,EAAE;gBAC9D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;aACrD;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,cAA2B,IAAA,0CAAkB,GAAE;QAE/C,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,iBAAM,EAAE,CAAA;QAC3B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,EAAE;gBACvC,IAAI,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAAE;oBAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAc,CAAC,CAAA;iBACrD;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;iBAClD;aACF;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;aAClD;YACD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;YAC9C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;SACtC;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;YACrC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC5C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;SACxB;QACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,iBAAM,EAAE,CAAA;QAC3B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,WAAW,EAAE;gBAC9C,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;aACF;YACD,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,EAAE;gBACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAc,CAAC,CAAA;aACrD;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAc,CAAC,CAAA;aACjE;YACD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YACD,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;YAC9C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,aAAa,CAClB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAC/D,CAAA;YACD,MAAM,gBAAgB,GACpB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CACzB,CAAC,CAAC,iBAAiB,CACpB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC5B,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC9C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;SAC/B;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;YACrC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;YAC5C,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;SACxB;QACD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAE,GAAW;QACf,IAAI,IAAI,CAAA;QACR,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;SACvB;aAAM;YACL,IAAI,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;SACvB;QACD,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAA;SACnB;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAeD;;;;;OAKG;IACH,EAAE,CAAE,GAAW;QACb,MAAM,EAAE,GAAG,CAAC,GAAI,IAAI,CAAC,IAAI,EAAe,CAAC,CAAA;QACzC,EAAE,CAAC,OAAO,EAAE,CAAA;QACZ,IAAI,GAAG,KAAK,KAAK,EAAE;YACjB,OAAO,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAA;SACjB;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CACV,eAA8C,IAAA,4CAAmB,GAAE,EACnE,QAAmB,EACnB,WAAoB;QAEpB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;QACvC,MAAM,OAAO,GAAkB,CAAC,IAAI,CAAC,CAAA;QAErC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;YAC1B,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAChC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1D,SAAQ;aACT;YAED,wEAAwE;YACxE,IAAI,OAAO,EAAE,EAAE,UAAU,KAAK,QAAQ,EAAE;gBACtC,IAAI,YAAY,KAAK,cAAc,EAAE;oBACnC,IAAI,IAAI,IAAI,IAAI,EAAE;wBAChB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;qBACxB;oBACD,SAAQ;iBACT;qBAAM;oBACL,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;oBACjE,mDAAmD;oBACnD,IAAI,UAAU,EAAE;wBACd,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;wBACvB,SAAQ;qBACT;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;qBAC/D;iBACF;aACF;YAED,qCAAqC;YACrC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;gBACnC,IAAI,EAAE,KAAK,SAAS,EAAE;oBACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;iBAC5C;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;gBAC7B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACxB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE;oBAC/B,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,kDAAkD,CACtG,CAAA;iBACF;aACF;YAED,+DAA+D;YAC/D,qDAAqD;YACrD,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,IAAI,EAAE,KAAK,SAAS,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;aAC5C;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE;oBAC/C,MAAM,IAAI,KAAK,CACb,kDAAkD,CAAC,mBAAmB,IAAI,kMAAkM,CAC7Q,CAAA;iBACF;gBACD,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE;oBAC7C,MAAM,IAAI,KAAK,CACb,kDAAkD,CAAC,mBAAmB,IAAI,0KAA0K,CACrP,CAAA;iBACF;gBACD,MAAM,YAAY,GAChB,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC1D,UAAU,IAAI,YAAY,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAExC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;gBACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;iBACtC;gBAED,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;gBAC3D,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE;oBAC3C,KAAK,CAAC,UAAU,GAAG,UAAU,CAAA;iBAC9B;gBAED,MAAM,KAAK,GAAG,IAAI,kBAAK,CAAC;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,aAAa,EAAE,YAAY,CAAC,aAAa;oBACzC,cAAc,EAAE,YAAY,CAAC,QAAQ,IAAI,CAAC;oBAC1C,kBAAkB,EAAE,EAAE,CAAC,OAAO;oBAC9B,WAAW;oBACX,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;oBAClC,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,WAAW;iBACZ,CAAC,CAAA;gBACF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;gBAEnC,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,KAAK,CAAA;iBACb;aACF;YAED,wEAAwE;YACxE,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC5B,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACpC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;iBACF;gBACD,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAA;aAC5B;YAED,IAAI,WAAW,GAAG,UAAU,EAAE;gBAC5B,OAAO,KAAK,CAAA;aACb;YAED,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SACxB;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAE,YAAsB;QAC5B,MAAM,MAAM,GAAG,IAAI,iBAAM,EAAE,CAAA;QAC3B,MAAM,CAAC,aAAa,CAAC,iBAAO,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAiB,EAAE,CAAA;QAC9B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAA;QACzD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;QACjD,MAAM,GAAG,GAAmD,EAAE,CAAA;QAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QAEnC,MAAM,YAAY,GAAG,CAAC,UAAsB,EAAU,EAAE;YACtD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YAC9D,IAAI,kBAAkB,KAAK,SAAS,EAAE;gBACpC,OAAO,kBAAkB,CAAA;aAC1B;YAED,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAA;YACnE,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/C,IAAI,cAAc,KAAK,SAAS,EAAE;gBAChC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBACzC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBACnD,OAAO,cAAc,CAAA;aACtB;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;YAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACtB,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAC7C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAClC,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAED,kEAAkE;QAClE,MAAM,iBAAiB,GAAG,CAAC,EAAe,EAAQ,EAAE;YAClD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,OAAM;aACP;YAED,MAAM,GAAG,GAA4C,EAAE,EAAE,EAAE,CAAA;YAC3D,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAA;YAChC,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAA;YAE/C,IAAI,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE;gBAClC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;aACzC;YAED,IAAI,CAAC,QAAQ,EAAE;gBACb,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC9C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAC1B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE;wBAC/C,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;qBAC3C;yBAAM,IAAI,YAAY,KAAK,KAAK,EAAE;wBACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;qBAC7D;iBACF;aACF;YAED,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC,CAAA;QAED,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;SAC3B;QACD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7B,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE;gBACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;aACnC;iBAAM;gBACL,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;aACrB;SACF;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAE,YAAsB;QAClC,MAAM,MAAM,GAAG,IAAI,iBAAM,EAAE,CAAA;QAC3B,+BAA+B;QAC/B,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAChC,sCAAsC;QACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACzB,uBAAuB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACF;AA97BD,8BA87BC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const SatoshisPerKilobyte_js_1 = __importDefault(require("./SatoshisPerKilobyte.js"));
7
+ /**
8
+ * Represents a live fee policy that fetches current rates from ARC GorillaPool.
9
+ * Extends SatoshisPerKilobyte to reuse transaction size calculation logic.
10
+ */
11
+ class LivePolicy extends SatoshisPerKilobyte_js_1.default {
12
+ /**
13
+ * Constructs an instance of the live policy fee model.
14
+ *
15
+ * @param {number} cacheValidityMs - How long to cache the fee rate in milliseconds (default: 5 minutes)
16
+ */
17
+ constructor(cacheValidityMs = 5 * 60 * 1000) {
18
+ super(100); // Initialize with dummy value, will be overridden by fetchFeeRate
19
+ this.cachedRate = null;
20
+ this.cacheTimestamp = 0;
21
+ this.cacheValidityMs = cacheValidityMs;
22
+ }
23
+ /**
24
+ * Gets the singleton instance of LivePolicy to ensure cache sharing across the application.
25
+ *
26
+ * @param {number} cacheValidityMs - How long to cache the fee rate in milliseconds (default: 5 minutes)
27
+ * @returns The singleton LivePolicy instance
28
+ */
29
+ static getInstance(cacheValidityMs = 5 * 60 * 1000) {
30
+ if (!LivePolicy.instance) {
31
+ LivePolicy.instance = new LivePolicy(cacheValidityMs);
32
+ }
33
+ return LivePolicy.instance;
34
+ }
35
+ /**
36
+ * Fetches the current fee rate from ARC GorillaPool API.
37
+ *
38
+ * @returns The current satoshis per kilobyte rate
39
+ */
40
+ async fetchFeeRate() {
41
+ const now = Date.now();
42
+ // Return cached rate if still valid
43
+ if (this.cachedRate !== null && (now - this.cacheTimestamp) < this.cacheValidityMs) {
44
+ return this.cachedRate;
45
+ }
46
+ try {
47
+ const response = await fetch(LivePolicy.ARC_POLICY_URL);
48
+ if (!response.ok) {
49
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
50
+ }
51
+ const response_data = await response.json();
52
+ if (!response_data.policy?.miningFee || typeof response_data.policy.miningFee.satoshis !== 'number' || typeof response_data.policy.miningFee.bytes !== 'number') {
53
+ throw new Error('Invalid policy response format');
54
+ }
55
+ // Convert to satoshis per kilobyte
56
+ const rate = (response_data.policy.miningFee.satoshis / response_data.policy.miningFee.bytes) * 1000;
57
+ // Cache the result
58
+ this.cachedRate = rate;
59
+ this.cacheTimestamp = now;
60
+ return rate;
61
+ }
62
+ catch (error) {
63
+ // If we have a cached rate, use it as fallback
64
+ if (this.cachedRate !== null) {
65
+ console.warn('Failed to fetch live fee rate, using cached value:', error);
66
+ return this.cachedRate;
67
+ }
68
+ // Otherwise, use a reasonable default (100 sat/kb)
69
+ console.warn('Failed to fetch live fee rate, using default 100 sat/kb:', error);
70
+ return 100;
71
+ }
72
+ }
73
+ /**
74
+ * Computes the fee for a given transaction using the current live rate.
75
+ * Overrides the parent method to use dynamic rate fetching.
76
+ *
77
+ * @param tx The transaction for which a fee is to be computed.
78
+ * @returns The fee in satoshis for the transaction.
79
+ */
80
+ async computeFee(tx) {
81
+ const rate = await this.fetchFeeRate();
82
+ // Update the value property so parent's computeFee uses the live rate
83
+ this.value = rate;
84
+ return super.computeFee(tx);
85
+ }
86
+ }
87
+ LivePolicy.ARC_POLICY_URL = 'https://arc.gorillapool.io/v1/policy';
88
+ LivePolicy.instance = null;
89
+ exports.default = LivePolicy;
90
+ //# sourceMappingURL=LivePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LivePolicy.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/LivePolicy.ts"],"names":[],"mappings":";;;;;AAAA,sFAA0D;AAG1D;;;GAGG;AACH,MAAqB,UAAW,SAAQ,gCAAmB;IAOzD;;;;OAIG;IACH,YAAY,kBAA0B,CAAC,GAAG,EAAE,GAAG,IAAI;QACjD,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,kEAAkE;QAVvE,eAAU,GAAkB,IAAI,CAAA;QAChC,mBAAc,GAAW,CAAC,CAAA;QAUhC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,kBAA0B,CAAC,GAAG,EAAE,GAAG,IAAI;QACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACxB,UAAU,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAA;SACtD;QACD,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEtB,oCAAoC;QACpC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE;YAClF,OAAO,IAAI,CAAC,UAAU,CAAA;SACvB;QAED,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;YACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;aACnE;YAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAE3C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,IAAI,OAAO,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC/J,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;aAClD;YAED,mCAAmC;YACnC,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YAEpG,mBAAmB;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YACtB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAA;YAEzB,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,+CAA+C;YAC/C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAA;gBACzE,OAAO,IAAI,CAAC,UAAU,CAAA;aACvB;YAED,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAA;YAC/E,OAAO,GAAG,CAAA;SACX;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,EAAe;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACtC,sEAAsE;QACtE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,OAAO,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;;AAvFuB,yBAAc,GAAG,sCAAsC,AAAzC,CAAyC;AAChE,mBAAQ,GAAsB,IAAI,AAA1B,CAA0B;kBAF9B,UAAU"}
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SatoshisPerKilobyte = void 0;
6
+ exports.LivePolicy = exports.SatoshisPerKilobyte = void 0;
7
7
  var SatoshisPerKilobyte_js_1 = require("./SatoshisPerKilobyte.js");
8
8
  Object.defineProperty(exports, "SatoshisPerKilobyte", { enumerable: true, get: function () { return __importDefault(SatoshisPerKilobyte_js_1).default; } });
9
+ var LivePolicy_js_1 = require("./LivePolicy.js");
10
+ Object.defineProperty(exports, "LivePolicy", { enumerable: true, get: function () { return __importDefault(LivePolicy_js_1).default; } });
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAyE;AAAhE,8IAAA,OAAO,OAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/transaction/fee-models/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAyE;AAAhE,8IAAA,OAAO,OAAuB;AACvC,iDAAuD;AAA9C,4HAAA,OAAO,OAAc"}
@@ -26,6 +26,8 @@ class WalletClient {
26
26
  substrate = new HTTPWalletJSON_js_1.default(originator);
27
27
  if (substrate === 'react-native')
28
28
  substrate = new ReactNativeWebView_js_1.default(originator);
29
+ if (substrate === 'secure-json-api')
30
+ substrate = new HTTPWalletJSON_js_1.default(originator, 'https://localhost:2121');
29
31
  this.substrate = substrate;
30
32
  this.originator = originator;
31
33
  }
@@ -33,62 +35,51 @@ class WalletClient {
33
35
  if (typeof this.substrate === 'object') {
34
36
  return; // substrate is already connected
35
37
  }
36
- let sub;
37
- const checkSub = async (timeout) => {
38
- let result;
39
- if (typeof timeout === 'number') {
40
- result = await Promise.race([
41
- sub.getVersion({}),
42
- new Promise((_resolve, reject) => setTimeout(() => reject(new Error('Timed out.')), timeout))
43
- ]);
44
- }
45
- else {
46
- result = await sub.getVersion({});
47
- }
48
- if (typeof result !== 'object' || typeof result.version !== 'string') {
49
- throw new Error('Failed to use substrate.');
50
- }
51
- };
52
- try {
53
- sub = new window_CWI_js_1.default();
54
- await checkSub();
55
- this.substrate = sub;
56
- }
57
- catch (e) {
58
- // XDM failed, try the next one...
38
+ const attemptSubstrate = async (factory, timeout) => {
59
39
  try {
60
- sub = new XDM_js_1.default();
61
- await checkSub(MAX_XDM_RESPONSE_WAIT);
62
- this.substrate = sub;
63
- }
64
- catch (e) {
65
- // HTTP wire failed, move on...
66
- try {
67
- sub = new WalletWireTransceiver_js_1.default(new HTTPWalletWire_js_1.default(this.originator));
68
- await checkSub();
69
- this.substrate = sub;
40
+ const sub = factory();
41
+ let result;
42
+ if (typeof timeout === 'number') {
43
+ result = await Promise.race([
44
+ sub.getVersion({}),
45
+ new Promise((_resolve, reject) => setTimeout(() => reject(new Error('Timed out.')), timeout))
46
+ ]);
70
47
  }
71
- catch (e) {
72
- // HTTP Wire failed, attempt the next...
73
- try {
74
- sub = new HTTPWalletJSON_js_1.default(this.originator);
75
- await checkSub();
76
- this.substrate = sub;
77
- }
78
- catch (e) {
79
- // HTTP JSON failed, attempt the next...
80
- try {
81
- sub = new ReactNativeWebView_js_1.default(this.originator);
82
- await checkSub();
83
- this.substrate = sub;
84
- }
85
- catch (e) {
86
- // No comms. Tell the user to install a BSV wallet.
87
- throw new Error('No wallet available over any communication substrate. Install a BSV wallet today!');
88
- }
89
- }
48
+ else {
49
+ result = await sub.getVersion({});
90
50
  }
51
+ if (typeof result !== 'object' || typeof result.version !== 'string') {
52
+ return { success: false };
53
+ }
54
+ return { success: true, sub };
55
+ }
56
+ catch {
57
+ return { success: false };
91
58
  }
59
+ };
60
+ // Try fast substrates first
61
+ const fastAttempts = [
62
+ attemptSubstrate(() => new window_CWI_js_1.default()),
63
+ attemptSubstrate(() => new HTTPWalletJSON_js_1.default(this.originator, 'https://localhost:2121')),
64
+ attemptSubstrate(() => new HTTPWalletJSON_js_1.default(this.originator)),
65
+ attemptSubstrate(() => new ReactNativeWebView_js_1.default(this.originator)),
66
+ attemptSubstrate(() => new WalletWireTransceiver_js_1.default(new HTTPWalletWire_js_1.default(this.originator)))
67
+ ];
68
+ const fastResults = await Promise.allSettled(fastAttempts);
69
+ const fastSuccessful = fastResults
70
+ .filter((r) => r.status === 'fulfilled' && r.value.success && r.value.sub !== undefined)
71
+ .map(r => r.value.sub);
72
+ if (fastSuccessful.length > 0) {
73
+ this.substrate = fastSuccessful[0];
74
+ return;
75
+ }
76
+ // Fall back to slower XDM substrate
77
+ const xdmResult = await attemptSubstrate(() => new XDM_js_1.default(), MAX_XDM_RESPONSE_WAIT);
78
+ if (xdmResult.success && xdmResult.sub !== undefined) {
79
+ this.substrate = xdmResult.sub;
80
+ }
81
+ else {
82
+ throw new Error('No wallet available over any communication substrate. Install a BSV wallet today!');
92
83
  }
93
84
  }
94
85
  async createAction(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletClient.js","sourceRoot":"","sources":["../../../../src/wallet/WalletClient.ts"],"names":[],"mappings":"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"}