@eulerxyz/euler-v2-sdk 1.0.4 → 1.0.6
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.
- package/dist/src/services/executionService/simulate.d.ts.map +1 -1
- package/dist/src/services/executionService/simulate.js +84 -9
- package/dist/src/services/executionService/simulate.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts +3 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +20 -2
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
- package/dist/src/utils/stateOverrides/approvalOverrides.d.ts.map +1 -1
- package/dist/src/utils/stateOverrides/approvalOverrides.js +37 -27
- package/dist/src/utils/stateOverrides/approvalOverrides.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAKZ,KAAK,GAAG,EAER,KAAK,aAAa,EAGlB,MAAM,MAAM,CAAC;AAgFd,OAAO,EACN,OAAO,EAGP,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACN,KAAK,yBAAyB,EAE9B,MAAM,0CAA0C,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAW/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../../src/services/executionService/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAKZ,KAAK,GAAG,EAER,KAAK,aAAa,EAGlB,MAAM,MAAM,CAAC;AAgFd,OAAO,EACN,OAAO,EAGP,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACN,KAAK,yBAAyB,EAE9B,MAAM,0CAA0C,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAW/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAoBlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EACX,oBAAoB,EACpB,YAAY,EAEZ,eAAe,EACf,MAAM,4BAA4B,CAAC;AAOpC,KAAK,eAAe,GAAG;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;CACZ,CAAC;AAQF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,mBAAmB,CACnC,YAAY,SAAS,WAAW,GAAG,WAAW;IAE9C;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IACzC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,sEAAsE;QACtE,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,sEAAsE;QACtE,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,oBAAoB,CAAC;QAC3B,KAAK,EAAE,GAAG,CAAC;QACX,YAAY,EAAE,yBAAyB,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,yBAAyB,EAAE,CAAA;KAAE,CAAC;IAC3E,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACrC,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACrC,CAAC,CAAC;IACH;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAC/D,6BAA6B,CAAC,EAAE,iCAAiC,EAAE,CAAC;IACpE,4BAA4B,CAAC,EAAE,iCAAiC,EAAE,CAAC;CACnE;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,iGAAiG;IACjG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,8BAA8B,CAAC;IACtD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD,qGAAqG;IACrG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,8BAA8B,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC5C,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;KACrD,CAAC;IACF;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAYF,MAAM,MAAM,0BAA0B,CACrC,YAAY,SAAS,WAAW,GAAG,WAAW,IAC3C;IACH,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,oBAAoB,EAAE,CAAC;CAC1E,CAAC;AAEF,wBAAsB,oBAAoB,CACzC,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,8BAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAmGxB;AAED,wBAAsB,uBAAuB,CAC5C,YAAY,SAAS,WAAW,GAAG,WAAW,EAE9C,GAAG,EAAE,0BAA0B,CAAC,YAAY,CAAC,EAC7C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAqM5C;AA+TD,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAqEjB;AA6oBD,wBAAgB,0BAA0B,CACzC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,GACd,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CASrB"}
|
|
@@ -82,6 +82,11 @@ import { getEulerEarnVaultInfoFullLensBatchItem } from "../vaults/eulerEarnServi
|
|
|
82
82
|
import { vaultLensAbi } from "../vaults/eVaultService/adapters/eVaultOnchainAdapter/abis/vaultLensAbi.js";
|
|
83
83
|
import { getVaultInfoFullLensBatchItem } from "../vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js";
|
|
84
84
|
import { convertVaultInfoFullToIEVault } from "../vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js";
|
|
85
|
+
import { SecuritizeCollateralVault } from "../../entities/SecuritizeCollateralVault.js";
|
|
86
|
+
import { utilsLensAbi } from "../vaults/securitizeVaultService/adapters/abis/utilsLensAbi.js";
|
|
87
|
+
import { erc4626EvcCollateralSecuritizeAbi } from "../vaults/securitizeVaultService/adapters/abis/erc4626EvcCollateralSecuritizeAbi.js";
|
|
88
|
+
import { convertToISecuritizeCollateralVault } from "../vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js";
|
|
89
|
+
import { getVaultInfoERC4626LensBatchItem, getSecuritizeGovernorAdminBatchItem, getSecuritizeSupplyCapResolvedBatchItem, } from "../vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js";
|
|
85
90
|
import { ethereumVaultConnectorAbi } from "./abis/ethereumVaultConnectorAbi.js";
|
|
86
91
|
import { assertNoCowSwapPlanItems, flattenBatchEntries, isEVCBatchOperation, } from "./executionServiceTypes.js";
|
|
87
92
|
export async function deriveStateOverrides(ctx, chainId, account, transactionPlan, options) {
|
|
@@ -175,7 +180,7 @@ export async function simulateTransactionPlan(ctx, chainId, account, transaction
|
|
|
175
180
|
};
|
|
176
181
|
}
|
|
177
182
|
const diagnostics = await fetchSimulationDiagnostics(ctx, chainId, owner, transactionPlan);
|
|
178
|
-
const { lensItems, lensMeta, evcAddress } = await buildSimulationBatch(ctx, chainId, owner, operations);
|
|
183
|
+
const { lensItems, lensMeta, evcAddress } = await buildSimulationBatch(ctx, chainId, owner, operations, extractBalanceRequirements(transactionPlan, owner).map(([token]) => token));
|
|
179
184
|
// Assemble the EVC batch, interleaving a lens-read block before the first
|
|
180
185
|
// operation (layer 0 = real state) and one after every operation (layer i =
|
|
181
186
|
// state after op i), so the full per-layer history is always captured.
|
|
@@ -251,9 +256,15 @@ export async function simulateTransactionPlan(ctx, chainId, account, transaction
|
|
|
251
256
|
const simulatedVaults = simulatedVaultsLayers[simulatedVaultsLayers.length - 1] ?? [];
|
|
252
257
|
const simulatedWalletBalances = snapshots.map((s) => s.walletBalances);
|
|
253
258
|
// Accurate wallet shortfall from the per-layer balances (running-min over the
|
|
254
|
-
// real-anchored balance), which nets out intra-batch funding.
|
|
255
|
-
//
|
|
256
|
-
|
|
259
|
+
// real-anchored balance), which nets out intra-batch funding. Prefer it when
|
|
260
|
+
// available; if wallet deltas could not be observed, keep the static
|
|
261
|
+
// requiredApproval diagnostic from fetchSimulationDiagnostics.
|
|
262
|
+
const computedWalletShortfall = await computeWalletShortfall(ctx, chainId, owner, simulatedWalletBalances);
|
|
263
|
+
const insufficientWalletAssets = computedWalletShortfall === undefined
|
|
264
|
+
? diagnostics.insufficientWalletAssets
|
|
265
|
+
: computedWalletShortfall.length > 0
|
|
266
|
+
? computedWalletShortfall
|
|
267
|
+
: undefined;
|
|
257
268
|
const canExecute = failedBatchItems.length === 0 &&
|
|
258
269
|
accountStatusErrors.length === 0 &&
|
|
259
270
|
vaultStatusErrors.length === 0 &&
|
|
@@ -354,6 +365,12 @@ async function decodeAccountSnapshot(ctx, chainId, owner, lensMeta, resultAt, op
|
|
|
354
365
|
const evcInfos = new Map();
|
|
355
366
|
const vaultInfosBySub = new Map();
|
|
356
367
|
const walletBalances = {};
|
|
368
|
+
// Securitize collateral vaults are assembled from three separate reads
|
|
369
|
+
// (ERC4626 info via UtilsLens, plus governorAdmin and supplyCapResolved read
|
|
370
|
+
// directly off the vault), keyed by vault address and stitched after the loop.
|
|
371
|
+
const securitizeInfos = new Map();
|
|
372
|
+
const securitizeGovernors = new Map();
|
|
373
|
+
const securitizeSupplyCaps = new Map();
|
|
357
374
|
for (let i = 0; i < lensMeta.length; i++) {
|
|
358
375
|
const meta = lensMeta[i];
|
|
359
376
|
const resultItem = resultAt(i);
|
|
@@ -386,6 +403,30 @@ async function decodeAccountSnapshot(ctx, chainId, owner, lensMeta, resultAt, op
|
|
|
386
403
|
const entity = new EulerEarn(convertEulerEarnVaultInfoFullToIEulerEarn(decodedVault, chainId, []));
|
|
387
404
|
vaultsByAddress.set(getAddress(meta.vault), entity);
|
|
388
405
|
}
|
|
406
|
+
if (meta.kind === "securitizeInfo") {
|
|
407
|
+
const decoded = decodeFunctionResult({
|
|
408
|
+
abi: utilsLensAbi,
|
|
409
|
+
functionName: "getVaultInfoERC4626",
|
|
410
|
+
data: resultItem.result,
|
|
411
|
+
});
|
|
412
|
+
securitizeInfos.set(getAddress(meta.vault), decoded);
|
|
413
|
+
}
|
|
414
|
+
if (meta.kind === "securitizeGovernor") {
|
|
415
|
+
const decoded = decodeFunctionResult({
|
|
416
|
+
abi: erc4626EvcCollateralSecuritizeAbi,
|
|
417
|
+
functionName: "governorAdmin",
|
|
418
|
+
data: resultItem.result,
|
|
419
|
+
});
|
|
420
|
+
securitizeGovernors.set(getAddress(meta.vault), decoded);
|
|
421
|
+
}
|
|
422
|
+
if (meta.kind === "securitizeSupplyCap") {
|
|
423
|
+
const decoded = decodeFunctionResult({
|
|
424
|
+
abi: erc4626EvcCollateralSecuritizeAbi,
|
|
425
|
+
functionName: "supplyCapResolved",
|
|
426
|
+
data: resultItem.result,
|
|
427
|
+
});
|
|
428
|
+
securitizeSupplyCaps.set(getAddress(meta.vault), decoded);
|
|
429
|
+
}
|
|
389
430
|
if (meta.kind === "evcAccount") {
|
|
390
431
|
const decodedAccount = decodeFunctionResult({
|
|
391
432
|
abi: accountLensAbi,
|
|
@@ -406,6 +447,18 @@ async function decodeAccountSnapshot(ctx, chainId, owner, lensMeta, resultAt, op
|
|
|
406
447
|
vaultInfosBySub.set(key, list);
|
|
407
448
|
}
|
|
408
449
|
}
|
|
450
|
+
// Stitch the three Securitize reads into vault entities. Skip any vault whose
|
|
451
|
+
// governor/supply-cap read failed (kept undefined) so a partial read degrades
|
|
452
|
+
// to "no entity" rather than throwing — mirrors the per-vault tolerance above.
|
|
453
|
+
for (const [vault, info] of securitizeInfos.entries()) {
|
|
454
|
+
const governor = securitizeGovernors.get(vault);
|
|
455
|
+
const supplyCap = securitizeSupplyCaps.get(vault);
|
|
456
|
+
if (governor === undefined || supplyCap === undefined)
|
|
457
|
+
continue;
|
|
458
|
+
const conversionErrors = [];
|
|
459
|
+
const entity = new SecuritizeCollateralVault(convertToISecuritizeCollateralVault(info, governor, supplyCap, chainId, conversionErrors));
|
|
460
|
+
vaultsByAddress.set(vault, entity);
|
|
461
|
+
}
|
|
409
462
|
const simulatedVaults = Array.from(vaultsByAddress.values());
|
|
410
463
|
const vaultFetchOptions = options?.vaultFetchOptions ??
|
|
411
464
|
options?.accountFetchOptions?.vaultFetchOptions;
|
|
@@ -513,7 +566,7 @@ function getAccountAdapter(ctx, methodName) {
|
|
|
513
566
|
const emptyPositionsAdapter = { fetchAccountVaults: async () => ({}) };
|
|
514
567
|
return new AccountOnchainAdapter(ctx.providerService, ctx.deploymentService, emptyPositionsAdapter);
|
|
515
568
|
}
|
|
516
|
-
async function buildSimulationBatch(ctx, chainId, owner, operations) {
|
|
569
|
+
async function buildSimulationBatch(ctx, chainId, owner, operations, requiredWalletBalanceTokens = []) {
|
|
517
570
|
const batch = operations.flatMap((op) => op.items);
|
|
518
571
|
const { candidateVaults, subAccountVaults } = collectCandidateVaults(ctx, owner, batch);
|
|
519
572
|
// Each touched sub-account's account-level liquidity (health factor, current
|
|
@@ -562,23 +615,28 @@ async function buildSimulationBatch(ctx, chainId, owner, operations) {
|
|
|
562
615
|
const validVaults = new Set();
|
|
563
616
|
const eVaults = [];
|
|
564
617
|
const eulerEarnVaults = [];
|
|
618
|
+
const securitizeVaults = [];
|
|
565
619
|
for (const vault of vaultCandidatesList) {
|
|
566
620
|
const key = getAddress(vault);
|
|
567
621
|
const type = vaultTypes[key];
|
|
568
622
|
if (!type)
|
|
569
623
|
continue;
|
|
570
|
-
if (type === VaultType.SecuritizeCollateral)
|
|
571
|
-
continue;
|
|
572
624
|
validVaults.add(key);
|
|
573
625
|
if (type === VaultType.EVault)
|
|
574
626
|
eVaults.push(key);
|
|
575
627
|
if (type === VaultType.EulerEarn)
|
|
576
628
|
eulerEarnVaults.push(key);
|
|
629
|
+
// Securitize RWA collaterals are real Euler collateral vaults; keep them in
|
|
630
|
+
// validVaults so their per-account position (getVaultAccountInfo) is read,
|
|
631
|
+
// and queue the dedicated reads below so the vault entity is resolved too.
|
|
632
|
+
if (type === VaultType.SecuritizeCollateral)
|
|
633
|
+
securitizeVaults.push(key);
|
|
577
634
|
}
|
|
578
635
|
const deployment = ctx.deploymentService.getDeployment(chainId);
|
|
579
636
|
const accountLensAddress = deployment.addresses.lensAddrs.accountLens;
|
|
580
637
|
const vaultLensAddress = deployment.addresses.lensAddrs.vaultLens;
|
|
581
638
|
const eulerEarnLensAddress = deployment.addresses.lensAddrs.eulerEarnVaultLens;
|
|
639
|
+
const utilsLensAddress = deployment.addresses.lensAddrs.utilsLens;
|
|
582
640
|
const evcAddress = deployment.addresses.coreAddrs.evc;
|
|
583
641
|
const lensItems = [];
|
|
584
642
|
const lensMeta = [];
|
|
@@ -598,6 +656,20 @@ async function buildSimulationBatch(ctx, chainId, owner, operations) {
|
|
|
598
656
|
vault,
|
|
599
657
|
});
|
|
600
658
|
}
|
|
659
|
+
for (const vault of securitizeVaults) {
|
|
660
|
+
pushLensItem(getVaultInfoERC4626LensBatchItem(utilsLensAddress, vault, owner), {
|
|
661
|
+
kind: "securitizeInfo",
|
|
662
|
+
vault,
|
|
663
|
+
});
|
|
664
|
+
pushLensItem(getSecuritizeGovernorAdminBatchItem(vault, owner), {
|
|
665
|
+
kind: "securitizeGovernor",
|
|
666
|
+
vault,
|
|
667
|
+
});
|
|
668
|
+
pushLensItem(getSecuritizeSupplyCapResolvedBatchItem(vault, owner), {
|
|
669
|
+
kind: "securitizeSupplyCap",
|
|
670
|
+
vault,
|
|
671
|
+
});
|
|
672
|
+
}
|
|
601
673
|
for (const [subAccount, vaults] of subAccountVaults.entries()) {
|
|
602
674
|
pushLensItem(getEVCAccountInfoLensBatchItem(accountLensAddress, evcAddress, subAccount, owner), {
|
|
603
675
|
kind: "evcAccount",
|
|
@@ -620,7 +692,7 @@ async function buildSimulationBatch(ctx, chainId, owner, operations) {
|
|
|
620
692
|
// overrides, so consumers stitch using the delta vs the pre-batch layer.
|
|
621
693
|
const provider = ctx.providerService?.getProvider(chainId);
|
|
622
694
|
if (provider) {
|
|
623
|
-
const vaultsForAssets = [...eVaults, ...eulerEarnVaults];
|
|
695
|
+
const vaultsForAssets = [...eVaults, ...eulerEarnVaults, ...securitizeVaults];
|
|
624
696
|
const assets = await Promise.all(vaultsForAssets.map((vault) => provider
|
|
625
697
|
.readContract({
|
|
626
698
|
address: vault,
|
|
@@ -633,6 +705,9 @@ async function buildSimulationBatch(ctx, chainId, owner, operations) {
|
|
|
633
705
|
for (const a of assets)
|
|
634
706
|
if (a)
|
|
635
707
|
assetTokens.add(getAddress(a));
|
|
708
|
+
for (const token of requiredWalletBalanceTokens) {
|
|
709
|
+
addWalletToken(assetTokens, token);
|
|
710
|
+
}
|
|
636
711
|
for (const operation of operations) {
|
|
637
712
|
for (const token of operation.walletBalanceTokens ?? []) {
|
|
638
713
|
addWalletToken(assetTokens, token);
|
|
@@ -887,7 +962,7 @@ async function computeWalletShortfall(ctx, chainId, owner, simulatedWalletBalanc
|
|
|
887
962
|
if (minAvailable < 0n)
|
|
888
963
|
shortfalls.push({ token: getAddress(t), amount: -minAvailable });
|
|
889
964
|
}
|
|
890
|
-
return shortfalls
|
|
965
|
+
return shortfalls;
|
|
891
966
|
}
|
|
892
967
|
async function fetchSimulationDiagnostics(ctx, chainId, account, transactionPlan) {
|
|
893
968
|
if (!ctx.walletService || !transactionPlan)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/services/executionService/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EAEV,UAAU,EAEV,kBAAkB,EAClB,WAAW,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,gBAAgB,GAAG;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IACxG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;CACpG,CAAC;AAEX,MAAM,aAAa,GAAG;IACrB;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;YACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;SACvC;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;CACQ,CAAC;AAEX,MAAM,YAAY,GAAG;IACpB;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACX,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;oBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;oBACjC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;iBACvC;aACD;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;KAC1B;CACQ,CAAC;AAEX,MAAM,qBAAqB,GAAG;IAC7B;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,eAAe,EAAE,YAAY;KAC7B;CACQ,CAAC;AAEX,MAAM,oBAAoB,GAAG,kBAAkB,CAC9C,2DAA2D,CAC3D,CAAC;AACF,MAAM,mBAAmB,GAAG,kBAAkB,CAC7C,iGAAiG,CACjG,CAAC;AACF,MAAM,4BAA4B,GAAG,kBAAkB,CACtD,oDAAoD,CACpD,CAAC;AACF,MAAM,oBAAoB,GAAG,kBAAkB,CAC9C,0DAA0D,CAC1D,CAAC;AACF,OAAO,EACN,OAAO,GAGP,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAEN,yBAAyB,GACzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,yEAAyE,CAAC;AAKzG,OAAO,EACN,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,GAChC,MAAM,2EAA2E,CAAC;AAOnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mEAAmE,CAAC;AAC1G,OAAO,EAAE,yCAAyC,EAAE,MAAM,+DAA+D,CAAC;AAE1H,OAAO,EAAE,sCAAsC,EAAE,MAAM,gEAAgE,CAAC;AACxH,OAAO,EAAE,YAAY,EAAE,MAAM,4EAA4E,CAAC;AAE1G,OAAO,EAAE,6BAA6B,EAAE,MAAM,+EAA+E,CAAC;AAC9H,OAAO,EAAE,6BAA6B,EAAE,MAAM,6EAA6E,CAAC;AAO5H,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAOhF,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,4BAA4B,CAAC;AA4IpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,GAA+B,EAC/B,OAAe,EACf,OAAgB,EAChB,eAAgC,EAChC,OAAwC;IAExC,wBAAwB,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAElE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,KAAK,CAAC;IAC9D,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IAErC,MAAM,mBAAmB,GAAG,iBAAiB;QAC5C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,0BAA0B,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,2BAA2B,CACvD,eAAe,EACf,KAAK,CACL,CAAC;IAEF,4EAA4E;IAC5E,wEAAwE;IACxE,0EAA0E;IAC1E,8CAA8C;IAC9C,IACC,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,EACzD,CAAC;QACF,kEAAkE;QAClE,uDAAuD;QACvD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC;YAC5D,MAAM,cAAc,GACnB,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS;iBAC9D,OAAO,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACd,6IAA6I,CAC7I,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,EACR,KAAK,EACL,oBAAoB,EACpB,cAAc,EACd;gBACC,gBAAgB,EAAE,MAAM,EAAE,UAAU;gBACpC,SAAS;aACT,CACD,CAAC;YACF,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,IAAI,aAAa,GAAG,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACzD,iEAAiE;YACjE,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC9B,IAAI,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,cAAc,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,aAAa,GAAG,EAAE;YACxB,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,6IAA6I,CAC7I,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GACnB,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/D,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;YACzD,cAAc,EAAE,MAAM,EAAE,QAAQ;YAChC,SAAS;SACT,CAAC;QACF,mBAAmB;YAClB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAmB,CAAC;YACtC,CAAC,CAAC,oBAAoB,CACpB,QAAQ,EACR,KAAK,EACL,oBAAoB,EACpB,cAAc,EACd;gBACC,gBAAgB,EAAE,MAAM,EAAE,UAAU;gBACpC,SAAS;aACT,CACD;KACH,CAAC,CAAC;IAEH,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAExC,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG5C,GAA6C,EAC7C,OAAe,EACf,OAAgB,EAChB,eAAgC,EAChC,OAA8B;IAE9B,wBAAwB,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,iBAAiB,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IAC1D,IAAI,uBAAkD,CAAC;IACvD,IAAI,iBAAiB,EAAE,CAAC;QACvB,uBAAuB,GAAG,MAAM,oBAAoB,CACnD,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,OAAO,EAAE,oBAAoB,CAC7B,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACN,iBAAiB,EAAE,EAAE;YACrB,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,KAAK;SACjB,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,0BAA0B,CACnD,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,CACf,CAAC;IACF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,oBAAoB,CACrE,GAAG,EACH,OAAO,EACP,KAAK,EACL,UAAU,CACV,CAAC;IAEF,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,eAAe,GAAa,EAAE,CAAC,CAAC,oDAAoD;IAC1F,MAAM,YAAY,GAAa,EAAE,CAAC,CAAC,2CAA2C;IAC9E,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,EAAE,IAAI,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,EAA6B,EAAE,OAAe,EAAE,EAAE;QACxE,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC3B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACF,CAAC,CAAC;IACF,aAAa,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,aAAa,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;QACjC,aAAa,EAAE,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAC3C,GAAG,EACH,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,EACV,uBAAuB,CACvB,CAAC;IACF,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;QAC3C,OAAO;YACN,GAAG,gBAAgB;YACnB,UAAU,EAAE,KAAK;YACjB,GAAG,WAAW;SACd,CAAC;IACH,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,GAC7D,gBAAgB,CAAC;IAElB,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAE,CAAC,CAAC;IACzE,IAAI,cAAkD,CAAC;IACvD,IAAI,CAAC;QACJ,cAAc,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACR,cAAc,GAAG,SAAS,CAAC;IAC5B,CAAC;IACD,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAwB,EAAE,CAAC,CAAC;QAC1E,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,EAAE;KACR,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,CACxB,MAAM,OAAO,CAAC,GAAG,CAChB,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;QAC/C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,WAAW,GAChB,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YACvD,CAAC,CAAC,cAAc,CAAC,KAAK,CAAE;YACxB,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO;YACN,KAAK;YACL,cAAc;YACd,aAAa,EAAE,UAAU,CAAC,cAAe,CAAC,EAAE,IAAI;YAChD,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,YAAY;SACZ,CAAC;IACH,CAAC,CAAC,CACF,CACD,CAAC,MAAM,CACP,CACC,IAAI,EAQH,EAAE,CAAC,IAAI,KAAK,IAAI,CAClB,CAAC;IAEF,qFAAqF;IACrF,MAAM,SAAS,GAIV,EAAE,CAAC;IACR,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QACjC,SAAS,CAAC,IAAI,CACb,MAAM,qBAAqB,CAC1B,GAAG,EACH,OAAO,EACP,KAAK,EACL,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EACxC,OAAO,CACP,CACD,CAAC;IACH,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,eAAe,GACpB,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,uBAAuB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAEvE,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,wBAAwB,GAAG,MAAM,sBAAsB,CAC5D,GAAG,EACH,OAAO,EACP,KAAK,EACL,uBAAuB,CACvB,CAAC;IAEF,MAAM,UAAU,GACf,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC7B,mBAAmB,CAAC,MAAM,KAAK,CAAC;QAChC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAC9B,CAAC,wBAAwB,EAAE,MAAM;QACjC,CAAC,WAAW,CAAC,6BAA6B,EAAE,MAAM;QAClD,CAAC,WAAW,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAEnD,OAAO;QACN,iBAAiB;QACjB,eAAe;QACf,qBAAqB;QACrB,uBAAuB;QACvB,UAAU;QACV,eAAe;QACf,gBAAgB,EACf,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC3D,mBAAmB,EAClB,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACjE,iBAAiB,EAChB,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QAC7D,GAAG,WAAW;QACd,wBAAwB;KACxB,CAAC;AACH,CAAC;AAUD,SAAS,iBAAiB,CAAC,eAAgC;IAC1D,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;iBAC9C,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,cAAc,GAAG,CACtB,MAAoB,EACpB,KAAmC,EAClC,EAAE;IACH,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAY,CAAC;QAC9C,IAAI,QAAQ,KAAK,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACR,yDAAyD;IAC1D,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ,CAAC;AAEjE,SAAS,+BAA+B,CAAC,KAAqB;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAW,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YACJ,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,kBAAkB,CAAC;oBAClC,GAAG,EAAE,aAAa;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC;gBAC3D,KAAK,MAAM,KAAK,IAAI,YAAY;oBAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChE,SAAS;YACV,CAAC;YAED,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC;oBAClC,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAE/B,CAAC;gBACJ,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBACjC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS;YACV,CAAC;YAED,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC;oBAClC,GAAG,EAAE,qBAAqB;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;iBACf,CAAC,CAAC;gBACH,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,wEAAwE;QACzE,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,qEAAqE;AACrE,KAAK,UAAU,qBAAqB,CAGnC,GAA6C,EAC7C,OAAe,EACf,KAAc,EACd,QAAoB,EACpB,QAAwD,EACxD,OAA8B;IAM9B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC/D,MAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,OAAO;YAAE,SAAS;QAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,oBAAoB,CAAC;gBAChC,GAAG,EAAE,gBAAgB;gBACrB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,UAAU,CAAC,MAAM;aACvB,CAAsB,CAAC;YACxB,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC;YAC3D,SAAS;QACV,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,oBAAoB,CAAC;gBACzC,GAAG,EAAE,YAAY;gBACjB,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,UAAU,CAAC,MAAM;aACvB,CAA6B,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,MAAM,CACxB,6BAA6B,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CACxD,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,oBAAoB,CAAC;gBACzC,GAAG,EAAE,qBAAqB;gBAC1B,YAAY,EAAE,kBAAkB;gBAChC,IAAI,EAAE,UAAU,CAAC,MAAM;aACvB,CAAsC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B,yCAAyC,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CACpE,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,cAAc,GAAG,oBAAoB,CAAC;gBAC3C,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,UAAU,CAAC,MAAM;aACvB,CAA8B,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;gBAC7C,GAAG,EAAE,cAAc;gBACnB,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,UAAU,CAAC,MAAM;aACvB,CAAgC,CAAC;YAClC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5B,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CACjC,eAAe,CAAC,MAAM,EAAE,CACN,CAAC;IAEpB,MAAM,iBAAiB,GACtB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;IACjD,MAAM,+BAA+B,GACpC,iBAAiB,EAAE,oBAAoB,IAAI,IAAI,CAAC;IAEjD,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACd,sLAAsL,CACtL,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAChB,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAiB,CAAC,CAAC;YACxD,CAAC;QACF,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,+BAA+B,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACzD,MAAM,OAAO,CAAC,GAAG,CAChB,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,IAAI,OAAQ,KAAa,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;gBAC/D,MAAO,KAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAa,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,EAAE,eAAe,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QAC9D,MAAM,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,eAAsB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,iBAAiB,EAAE,oBAAoB,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACxE,MAAM,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,eAAsB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,iBAAiB,EAAE,cAAc,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACjE,MAAM,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAsB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAC3C,OAAO,EACP,OAAO,EACP,UAAU,EACV,EAAE,CACF,CAAC;QACF,MAAM,EACL,cAAc,EAAE,GAAG,EACnB,oBAAoB,EAAE,GAAG,EACzB,GAAG,cAAc,EACjB,GAAG,KAAK,CAAC;QACV,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,WAAW,GAAa,cAAc,CAAC,YAAY,CACxD,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,OAAO,EAAE,kBAAkB,IAAI,EAAE,EACjC,OAAO,EAAE,kBAAkB,IAAI,EAAE,EACjC,OAAO,EAAE,cAAc,IAAI,KAAK,EAChC,OAAO,EAAE,oBAAoB,IAAI,KAAK,CACtC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAQ,WAAW,CAAC,CAAC;IACzD,MAAM,gBAAgB,GACrB,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;IACzD,MAAM,iCAAiC,GACtC,mBAAmB,EAAE,oBAAoB,IAAI,IAAI,CAAC;IAEnD,IAAI,iCAAiC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC3D,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,mBAAmB,EAAE,mBAAmB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACpE,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,GAA+B,EAC/B,OAAe,EACf,OAAgB,EAChB,eAAgC,EAChC,OAA8C;IAE9C,wBAAwB,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,sJAAsJ,CACtJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,iBAAiB,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IAC1D,MAAM,aAAa,GAAG,iBAAiB;QACtC,CAAC,CAAC,MAAM,oBAAoB,CAC1B,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,OAAO,EAAE,oBAAoB,CAC7B;QACF,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,UAAU,GACf,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;IAEtE,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAAE,SAAS;QAE/C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,EACzC,EAAE,CACF,CAAC;YACF,QAAQ,IAAI,MAAM,mBAAmB,CAAC,QAAQ,EAAE;gBAC/C,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,yBAAyB;gBAC9B,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,KAAK;gBACL,aAAa;aACb,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACd,oHAAoH,CACpH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACd,mDAAmD,IAAI,CAAC,OAAO,4BAA4B,OAAO,EAAE,CACpG,CAAC;QACH,CAAC;QAED,QAAQ,IAAI,MAAM,mBAAmB,CAAC,QAAQ,EAAE;YAC/C,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,YAAqB;YACxC,IAAI,EAAE,IAAI,CAAC,IAAa;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa;SACb,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CACzB,GAA+B,EAC/B,UAAkB;IAElB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,oBAAoB,UAAU,wGAAwG,CACtI,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,EAAE,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,OAAO,IAAI,qBAAqB,CAC/B,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,iBAA0B,EAC9B,qBAAqB,CACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,GAA+B,EAC/B,OAAe,EACf,KAAc,EACd,UAAiC;IAMjC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,sBAAsB,CACnE,GAAG,EACH,KAAK,EACL,KAAK,CACL,CAAC;IAEF,6EAA6E;IAC7E,sEAAsE;IACtE,yEAAyE;IACzE,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,YAAY,GAAG,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,YAAY,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS;aAC1E,GAAG,CAAC;QACN,IAAI,CAAC;YACJ,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC;gBACtD,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpC,OAAO,EAAE,GAAG;oBACZ,GAAG,EAAE,yBAAyB;oBAC9B,YAAY,EAAE,gBAAgB;oBAC9B,IAAI,EAAE,CAAC,GAAG,CAAC;iBACX,CAAC,CAAC;aACH,CAAC,CAAC;YACH,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC9B,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,EAAE,MAAM,KAAK,SAAS;oBAAE,OAAO;gBACpC,KAAK,MAAM,UAAU,IAAK,CAAC,CAAC,MAA+B,IAAI,EAAE,EAAE,CAAC;oBACnE,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;oBACjC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,yEAAyE;YACzE,oEAAoE;QACrE,CAAC;IACF,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACd,kJAAkJ,CAClJ,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAC5D,OAAO,EACP,mBAAmB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAW,CAAC;IACvC,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAc,EAAE,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,IAAI,KAAK,SAAS,CAAC,oBAAoB;YAAE,SAAS;QACtD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,SAAS,CAAC,SAAS;YAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;IACtE,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;IAClE,MAAM,oBAAoB,GACzB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;IAEtD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,IAAc,EAAE,EAAE;QAC3D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,YAAY,CACX,6BAA6B,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,EAC7D;YACC,IAAI,EAAE,QAAQ;YACd,KAAK;SACL,CACD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACrC,YAAY,CACX,sCAAsC,CACrC,oBAAoB,EACpB,KAAK,EACL,KAAK,CACL,EACD;YACC,IAAI,EAAE,WAAW;YACjB,KAAK;SACL,CACD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,YAAY,CACX,8BAA8B,CAC7B,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,KAAK,CACL,EACD;YACC,IAAI,EAAE,YAAY;YAClB,UAAU;SACV,CACD,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS;YAClD,YAAY,CACX,gCAAgC,CAC/B,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,KAAK,CACL,EACD;gBACC,IAAI,EAAE,cAAc;gBACpB,UAAU;gBACV,KAAK;aACL,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,QAAQ;aACN,YAAY,CAAC;YACb,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,gBAAgB;YACrB,YAAY,EAAE,OAAO;SACrB,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAY,CAAC,CAAC;aACrC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACnB,CACD,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAW,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;gBACzD,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,oBAAoB,CACzD,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAClB,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC;YACtC,IAAI,aAAa,EAAE,CAAC;gBACnB,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACP,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,QAAQ;qBACN,YAAY,CAAC;oBACb,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,GAAG,EAAE,gBAAgB;oBACrB,YAAY,EAAE,YAAY;iBAC1B,CAAC;qBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAY,CAAC,CAAC;qBACrC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACnB,CACD,CAAC;gBACF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;oBACtC,IAAI,KAAK;wBAAE,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YACjC,YAAY,CACX;gBACC,cAAc,EAAE,KAAK;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,kBAAkB,CAAC;oBACxB,GAAG,EAAE,gBAAgB;oBACrB,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,KAAK,CAAC;iBACb,CAAC;aACF,EACD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAChC,CAAC;QACH,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,kEAAkE;IAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAC9B,GAA+B,EAC/B,KAAc,EACd,KAAqB;IAKrB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAW,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1D,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,EAAE;QAC5C,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,UAAmB,EAAE,KAAc,EAAE,EAAE;QAClE,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO;QACtC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAW,CAAC;QAC5D,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE/C,IACC,EAAE,KAAK,kBAAkB;YACzB,EAAE,KAAK,mBAAmB;YAC1B,EAAE,KAAK,kBAAkB,EACxB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAA8B,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAA4B,CAAC;YACrD,IAAI,KAAK;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,OAAO,IAAI,KAAK;gBAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzD,SAAS;QACV,CAAC;QAED,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,cAAc,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;YAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAyB,CAAC;YAC/C,MAAM,IAAI,GACT,EAAE,KAAK,cAAc,IAAI,EAAE,KAAK,iBAAiB;gBAChD,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,IAA4B;gBACzC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,IAA4B,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAExE,IAAI,IAAI;gBAAE,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,EAAE;gBAAE,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACvC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,SAAS;QACV,CAAC;QAED,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAA4B,CAAC;YACrD,IAAI,KAAK;gBAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,SAAS;QACV,CAAC;QAED,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAA+B,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAiC,CAAC;YAC/D,IAAI,QAAQ;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,QAAQ,IAAI,UAAU;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,UAAU,EAAE,CAAC;gBAChB,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBACvD,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;YACD,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,SAAS;QACV,CAAC;QAED,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAA2B,CAAC;YACnD,IAAI,IAAI;gBAAE,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,SAAS;QACV,CAAC;QAED,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAA+B,CAAC;YAC3D,IAAI,QAAQ;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,8EAA8E;QAC9E,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,0DAA0D;QAC1D,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAA+B,CAAC;YAC3D,IAAI,QAAQ;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,EAAE,KAAK,2BAA2B,IAAI,EAAE,KAAK,wBAAwB,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAA4B,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAA+B,CAAC;YAC3D,IAAI,KAAK;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,IAAI,QAAQ;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAA4B,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAA8B,CAAC;YACzD,IAAI,KAAK;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,IAAI,OAAO;gBAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAW,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,aAAa,CAC3B,GAA+B,EAC/B,OAAe,EACf,OAAgB,EAChB,UAAmB,EACnB,SAAyB,EACzB,UAAkB,EAClB,cAA8B;IAwB9B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,gJAAgJ,CAChJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC;YAClD,OAAO,EAAE,UAAU;YACnB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO;YACP,aAAa,EAAE,cAAc;SAC7B,CAAC,CAAC;QACH,aAAa,GAAG,MAAM,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO;YACN,iBAAiB,EAAE,EAAE;YACrB,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SACnC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,OAAO;YACN,YAAY,EAAE,EAAE;YAChB,mBAAmB,EAAE,EAAE;YACvB,iBAAiB,EAAE,EAAE;SACrB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,aAAmC,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAsB,CAAC;IACrD,MAAM,aAAa,GAAI,OAAO,CAAC,CAAC,CAAqC,IAAI,EAAE,CAAC;IAC5E,MAAM,WAAW,GAAI,OAAO,CAAC,CAAC,CAAqC,IAAI,EAAE,CAAC;IAE1E,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,aAAa;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;SACjC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;QACzC,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,OAAO,EAAE,MAAM,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC;KACtD,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,WAAW;SACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;SACjC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,OAAO,EAAE,MAAM,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC;KACtD,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,sBAAsB,CACpC,GAA+B,EAC/B,OAAe,EACf,KAAc,EACd,uBAAiD;IAEjD,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,MAAM,IAAI,GAAG,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,WAAmC,CAAC;IACxC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,CACd,MAAM,GAAG,CAAC,aAAa,CAAC,WAAW,CAClC,OAAO,EACP,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAC3D,CACD,CAAC,MAAM,CAAC;QACT,WAAW,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,+EAA+E;QAC/E,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;YAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;YAC/B,IAAI,SAAS,GAAG,YAAY;gBAAE,YAAY,GAAG,SAAS,CAAC;QACxD,CAAC;QACD,IAAI,YAAY,GAAG,EAAE;YACpB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,0BAA0B,CACxC,GAA+B,EAC/B,OAAe,EACf,OAAgB,EAChB,eAAiC;IAMjC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEtD,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAC/C,CAAC,IAAI,EAA4B,EAAE,CAClC,IAAI,CAAC,IAAI,KAAK,kBAAkB;QAChC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,CAC/C,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAW,CAAC,CAAC;QACjD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACpE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9B,CAAC,CACF,CAAC;IAEF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACJ,MAAM,GAAG,CACR,MAAM,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,CACzE,CAAC,MAAM,CAAC;IACV,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;YACjC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,OAAO,GAAG,IAAI;gBAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,eAAe,GAAG,UAAU,EAAE,aAAa,IAAI,EAAE,CAAC;QACxD,IAAI,eAAe,GAAG,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;YACzC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,OAAO,GAAG,IAAI;gBAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,EAAE,sBAAsB,IAAI,EAAE,CAAC;QAClE,MAAM,qBAAqB,GAAG,UAAU,EAAE,qBAAqB,IAAI,CAAC,CAAC;QACrE,MAAM,cAAc,GACnB,qBAAqB,GAAG,CAAC,IAAI,GAAG,IAAI,qBAAqB,CAAC;QAC3D,IAAI,gBAAgB,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACpE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,OAAO,GAAG,IAAI;gBAAE,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAyB,EAAE,EAAE,CAChD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzE,OAAO;QACN,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;YACzB,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;YACzB,CAAC,CAAC,EAAE,4BAA4B,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC;YAC1B,CAAC,CAAC,EAAE,6BAA6B,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,UAAU,0BAA0B,CACzC,eAAgC,EAChC,OAAgB;IAEhB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAAE,SAAS;QAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,2BAA2B,CACnC,eAAgC,EAChC,OAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;YAAE,SAAS;QAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../../src/services/executionService/simulate.ts"],"names":[],"mappings":"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"}
|
package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ import type { ISecuritizeCollateralVault } from "../../../../entities/Securitize
|
|
|
6
6
|
import { type BuildQueryFn } from "../../../../utils/buildQuery.js";
|
|
7
7
|
import type { EVCBatchItem } from "../../../executionService/executionServiceTypes.js";
|
|
8
8
|
import type { ServiceResult } from "../../../../utils/entityDiagnostics.js";
|
|
9
|
-
export declare const getVaultInfoERC4626LensBatchItem: (utilsLensAddress: Address, vault: Address) => EVCBatchItem;
|
|
9
|
+
export declare const getVaultInfoERC4626LensBatchItem: (utilsLensAddress: Address, vault: Address, onBehalfOfAccount?: Address) => EVCBatchItem;
|
|
10
|
+
export declare const getSecuritizeGovernorAdminBatchItem: (vault: Address, onBehalfOfAccount?: Address) => EVCBatchItem;
|
|
11
|
+
export declare const getSecuritizeSupplyCapResolvedBatchItem: (vault: Address, onBehalfOfAccount?: Address) => EVCBatchItem;
|
|
10
12
|
export declare class SecuritizeVaultOnchainAdapter implements ISecuritizeCollateralAdapter {
|
|
11
13
|
private providerService;
|
|
12
14
|
private deploymentService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"securitizeVaultOnchainAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACN,KAAK,OAAO,EAIZ,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAKpG,OAAO,EACN,KAAK,YAAY,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,EAEX,aAAa,EACb,MAAM,wCAAwC,CAAC;AAMhD,eAAO,MAAM,gCAAgC,GAC5C,kBAAkB,OAAO,EACzB,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"securitizeVaultOnchainAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACN,KAAK,OAAO,EAIZ,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAKpG,OAAO,EACN,KAAK,YAAY,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,EAEX,aAAa,EACb,MAAM,wCAAwC,CAAC;AAMhD,eAAO,MAAM,gCAAgC,GAC5C,kBAAkB,OAAO,EACzB,OAAO,OAAO,EACd,oBAAmB,OAAqB,KACtC,YASD,CAAC;AAEH,eAAO,MAAM,mCAAmC,GAC/C,OAAO,OAAO,EACd,oBAAmB,OAAqB,KACtC,YAQD,CAAC;AAEH,eAAO,MAAM,uCAAuC,GACnD,OAAO,OAAO,EACd,oBAAmB,OAAqB,KACtC,YAQD,CAAC;AAEH,qBAAa,6BACZ,YAAW,4BAA4B;IAGtC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,iBAAiB;gBADjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EAC5C,UAAU,CAAC,EAAE,YAAY;IAK1B,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,qBAAqB,GACpB,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,kBAAkB,OAAO,EACzB,OAAO,OAAO;;;;;;;;;;;;;OAQb;IAEF,wBAAwB,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,qBAAqB,GAAG,IAAI;IAIrE,iCAAiC,GAChC,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,OAAO,OAAO,4BAOb;IAEF,oCAAoC,CACnC,EAAE,EAAE,OAAO,IAAI,CAAC,iCAAiC,GAC/C,IAAI;IAIP,qCAAqC,GACpC,UAAU,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,EACpD,OAAO,OAAO,qBAOb;IAEF,wCAAwC,CACvC,EAAE,EAAE,OAAO,IAAI,CAAC,qCAAqC,GACnD,IAAI;IAID,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EAAE,GACf,OAAO,CAAC,aAAa,CAAC,CAAC,0BAA0B,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAyD/D,4BAA4B,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,OAAO,EAAE,GACtB,OAAO,CAAC,OAAO,EAAE,CAAC;IAIf,cAAc,CACnB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,0BAA0B,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CAMrE"}
|
package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js
CHANGED
|
@@ -4,9 +4,9 @@ import { utilsLensAbi } from "./abis/utilsLensAbi.js";
|
|
|
4
4
|
import { erc4626EvcCollateralSecuritizeAbi } from "./abis/erc4626EvcCollateralSecuritizeAbi.js";
|
|
5
5
|
import { applyBuildQuery, } from "../../../../utils/buildQuery.js";
|
|
6
6
|
import { dataIssueLocation, vaultDiagnosticOwner, } from "../../../../utils/entityDiagnostics.js";
|
|
7
|
-
export const getVaultInfoERC4626LensBatchItem = (utilsLensAddress, vault) => ({
|
|
7
|
+
export const getVaultInfoERC4626LensBatchItem = (utilsLensAddress, vault, onBehalfOfAccount = zeroAddress) => ({
|
|
8
8
|
targetContract: utilsLensAddress,
|
|
9
|
-
onBehalfOfAccount
|
|
9
|
+
onBehalfOfAccount,
|
|
10
10
|
value: 0n,
|
|
11
11
|
data: encodeFunctionData({
|
|
12
12
|
abi: utilsLensAbi,
|
|
@@ -14,6 +14,24 @@ export const getVaultInfoERC4626LensBatchItem = (utilsLensAddress, vault) => ({
|
|
|
14
14
|
args: [vault],
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
17
|
+
export const getSecuritizeGovernorAdminBatchItem = (vault, onBehalfOfAccount = zeroAddress) => ({
|
|
18
|
+
targetContract: vault,
|
|
19
|
+
onBehalfOfAccount,
|
|
20
|
+
value: 0n,
|
|
21
|
+
data: encodeFunctionData({
|
|
22
|
+
abi: erc4626EvcCollateralSecuritizeAbi,
|
|
23
|
+
functionName: "governorAdmin",
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
export const getSecuritizeSupplyCapResolvedBatchItem = (vault, onBehalfOfAccount = zeroAddress) => ({
|
|
27
|
+
targetContract: vault,
|
|
28
|
+
onBehalfOfAccount,
|
|
29
|
+
value: 0n,
|
|
30
|
+
data: encodeFunctionData({
|
|
31
|
+
abi: erc4626EvcCollateralSecuritizeAbi,
|
|
32
|
+
functionName: "supplyCapResolved",
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
17
35
|
export class SecuritizeVaultOnchainAdapter {
|
|
18
36
|
providerService;
|
|
19
37
|
deploymentService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"securitizeVaultOnchainAdapter.js","sourceRoot":"","sources":["../../../../../../src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,kBAAkB,EAClB,UAAU,EACV,WAAW,GACX,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAEN,eAAe,GACf,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EACN,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC/C,gBAAyB,EACzB,KAAc,
|
|
1
|
+
{"version":3,"file":"securitizeVaultOnchainAdapter.js","sourceRoot":"","sources":["../../../../../../src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalOverrides.d.ts","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/approvalOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAEZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAQlB,MAAM,MAAM,CAAC;AAGd,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAC7B,YAAY,CA8Bd;
|
|
1
|
+
{"version":3,"file":"approvalOverrides.d.ts","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/approvalOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAEZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAQlB,MAAM,MAAM,CAAC;AAGd,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAC7B,YAAY,CA8Bd;AA0ED,MAAM,MAAM,2BAA2B,GAAG;IACzC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAQF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAC/B,cAAc,EAAE,OAAO,EACvB,OAAO,GAAE,2BAAgC,GACvC,OAAO,CAAC,aAAa,CAAC,CA6FxB"}
|
|
@@ -31,16 +31,17 @@ export function computePermit2StateDiff(account, approvals) {
|
|
|
31
31
|
* Traces allowance(account, permit2) to find candidate slots, then
|
|
32
32
|
* tests each by overriding and re-reading to verify.
|
|
33
33
|
*/
|
|
34
|
-
async function discoverAllowanceSlotsViaAccessList(client, account,
|
|
34
|
+
async function discoverAllowanceSlotsViaAccessList(client, account, approvals) {
|
|
35
35
|
const stateOverride = [];
|
|
36
|
+
const resolvedPairs = new Set();
|
|
36
37
|
const valueHex = toHex(maxUint256, { size: 32 });
|
|
37
|
-
for (const asset of
|
|
38
|
+
for (const [asset, spender] of approvals) {
|
|
38
39
|
try {
|
|
39
40
|
const accessedSlots = await getAccessedSlots(client, {
|
|
40
41
|
data: encodeFunctionData({
|
|
41
42
|
abi: erc20Abi,
|
|
42
43
|
functionName: "allowance",
|
|
43
|
-
args: [account,
|
|
44
|
+
args: [account, spender],
|
|
44
45
|
}),
|
|
45
46
|
to: asset,
|
|
46
47
|
});
|
|
@@ -53,7 +54,7 @@ async function discoverAllowanceSlotsViaAccessList(client, account, assets, perm
|
|
|
53
54
|
abi: erc20Abi,
|
|
54
55
|
address: asset,
|
|
55
56
|
functionName: "allowance",
|
|
56
|
-
args: [account,
|
|
57
|
+
args: [account, spender],
|
|
57
58
|
stateOverride: [
|
|
58
59
|
{
|
|
59
60
|
address: asset,
|
|
@@ -70,15 +71,17 @@ async function discoverAllowanceSlotsViaAccessList(client, account, assets, perm
|
|
|
70
71
|
}
|
|
71
72
|
if (stateDiff.length > 0) {
|
|
72
73
|
stateOverride.push({ address: asset, stateDiff });
|
|
74
|
+
resolvedPairs.add(approvalPairKey(asset, spender));
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
catch (e) {
|
|
76
78
|
console.warn(`[approvalOverrides] slot discovery failed for ${asset}:`, e);
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
|
-
return stateOverride;
|
|
81
|
+
return { stateOverride, resolvedPairs };
|
|
80
82
|
}
|
|
81
83
|
const allowanceKey = (asset, spender) => `${getAddress(asset)}:${getAddress(spender)}`;
|
|
84
|
+
const approvalPairKey = (asset, spender) => `${getAddress(asset)}:${getAddress(spender)}`;
|
|
82
85
|
/**
|
|
83
86
|
* Generate state overrides for ERC20 approvals and Permit2 allowances.
|
|
84
87
|
*
|
|
@@ -111,51 +114,58 @@ export async function getApprovalOverrides(client, account, approvals, permit2Ad
|
|
|
111
114
|
stateDiff: permit2StateDiff,
|
|
112
115
|
});
|
|
113
116
|
}
|
|
114
|
-
// Decide which
|
|
115
|
-
|
|
117
|
+
// Decide which ERC20 allowance pairs still need an override. Raw plan
|
|
118
|
+
// simulation executes the vault deposit call without signed Permit2 data, so
|
|
119
|
+
// it needs the direct owner -> spender allowance as well as the owner ->
|
|
120
|
+
// Permit2 allowance used by prepared execution.
|
|
121
|
+
const uniquePairs = [];
|
|
116
122
|
const seen = new Set();
|
|
117
123
|
for (const [asset, spender] of approvals) {
|
|
118
124
|
const a = getAddress(asset);
|
|
119
|
-
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
seen.add(
|
|
125
|
-
|
|
125
|
+
const pairSpenders = [getAddress(permit2Address), getAddress(spender)];
|
|
126
|
+
for (const pairSpender of pairSpenders) {
|
|
127
|
+
const key = approvalPairKey(a, pairSpender);
|
|
128
|
+
if (seen.has(key))
|
|
129
|
+
continue;
|
|
130
|
+
seen.add(key);
|
|
131
|
+
// Token already approved → skip.
|
|
132
|
+
const supplied = walletAllowances?.[allowanceKey(a, pairSpender)];
|
|
133
|
+
if (supplied !== undefined && supplied === maxUint256)
|
|
134
|
+
continue;
|
|
135
|
+
uniquePairs.push([a, pairSpender]);
|
|
126
136
|
}
|
|
127
137
|
}
|
|
128
|
-
// Partition
|
|
129
|
-
const
|
|
130
|
-
for (const asset of
|
|
138
|
+
// Partition pairs by which resolution path applies.
|
|
139
|
+
const fallbackPairs = [];
|
|
140
|
+
for (const [asset, spender] of uniquePairs) {
|
|
131
141
|
const callerHintIdx = slotHints?.[asset]?.allowanceSlotIndex;
|
|
132
142
|
const cachedIdx = getCachedSlotHints(chainId, asset)?.allowanceSlotIndex;
|
|
133
143
|
const idx = callerHintIdx ?? cachedIdx;
|
|
134
144
|
if (idx !== undefined) {
|
|
135
|
-
const slot = computeAllowanceSlot(account,
|
|
145
|
+
const slot = computeAllowanceSlot(account, spender, idx);
|
|
136
146
|
stateOverride.push({
|
|
137
147
|
address: asset,
|
|
138
148
|
stateDiff: [{ slot, value: valueHex }],
|
|
139
149
|
});
|
|
140
150
|
continue;
|
|
141
151
|
}
|
|
142
|
-
|
|
152
|
+
fallbackPairs.push([asset, spender]);
|
|
143
153
|
}
|
|
144
|
-
const
|
|
145
|
-
? await discoverAllowanceSlotsViaAccessList(client, account,
|
|
146
|
-
: [];
|
|
154
|
+
const accessListResult = fallbackPairs.length > 0
|
|
155
|
+
? await discoverAllowanceSlotsViaAccessList(client, account, fallbackPairs)
|
|
156
|
+
: { stateOverride: [], resolvedPairs: new Set() };
|
|
157
|
+
const accessListOverrides = accessListResult.stateOverride;
|
|
147
158
|
stateOverride.push(...accessListOverrides);
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
if (accessListResolved.has(getAddress(asset)))
|
|
159
|
+
for (const [asset, spender] of fallbackPairs) {
|
|
160
|
+
if (accessListResult.resolvedPairs.has(approvalPairKey(asset, spender)))
|
|
151
161
|
continue;
|
|
152
162
|
try {
|
|
153
163
|
const hints = await fetchErc20SlotHints(client, asset, {
|
|
154
164
|
skipBalance: true,
|
|
155
|
-
allowanceSpender:
|
|
165
|
+
allowanceSpender: spender,
|
|
156
166
|
});
|
|
157
167
|
if (hints.allowanceSlotIndex !== undefined) {
|
|
158
|
-
const slot = computeAllowanceSlot(account,
|
|
168
|
+
const slot = computeAllowanceSlot(account, spender, hints.allowanceSlotIndex);
|
|
159
169
|
stateOverride.push({
|
|
160
170
|
address: asset,
|
|
161
171
|
stateDiff: [{ slot, value: valueHex }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalOverrides.js","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/approvalOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,GACL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAElB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACtC,OAAgB,EAChB,SAA+B;IAE/B,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAO,CAAC;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,6HAA6H;QAC7H,kCAAkC;QAClC,MAAM,QAAQ,GAAG,SAAS,CACzB,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAChE,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAC1B,YAAY,CACX,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAC3C,CACD,CAAC;QACF,MAAM,WAAW,GAAG,SAAS,CAC5B,YAAY,CACX,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAC9C,CACD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mCAAmC,CACjD,MAAoB,EACpB,OAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"approvalOverrides.js","sourceRoot":"","sources":["../../../../src/utils/stateOverrides/approvalOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,GACL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAElB,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACtC,OAAgB,EAChB,SAA+B;IAE/B,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAO,CAAC;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,6HAA6H;QAC7H,kCAAkC;QAClC,MAAM,QAAQ,GAAG,SAAS,CACzB,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAChE,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAC1B,YAAY,CACX,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAC3C,CACD,CAAC;QACF,MAAM,WAAW,GAAG,SAAS,CAC5B,YAAY,CACX,CAAC,SAAS,EAAE,SAAS,CAAC,EACtB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAC9C,CACD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mCAAmC,CACjD,MAAoB,EACpB,OAAgB,EAChB,SAA+B;IAE/B,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;gBACpD,IAAI,EAAE,kBAAkB,CAAC;oBACxB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;iBACxB,CAAC;gBACF,EAAE,EAAE,KAAK;aACT,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAErD,6EAA6E;YAC7E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM;iBACJ,YAAY,CAAC;gBACb,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;gBACxB,aAAa,EAAE;oBACd;wBACC,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;qBACtC;iBACD;aACD,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CACjB,CACD,CAAC;YAEF,MAAM,SAAS,GAAgC,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACF,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClD,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CACX,iDAAiD,KAAK,GAAG,EACzD,CAAC,CACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC;AAiBD,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAE,EAAE,CACzD,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAA6B,CAAC;AAE1E,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAE,EAAE,CAC5D,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAoB,EACpB,OAAgB,EAChB,SAA+B,EAC/B,cAAuB,EACvB,UAAuC,EAAE;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAErE,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjD,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC;YAClB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,gBAAgB;SAC3B,CAAC,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,yEAAyE;IACzE,gDAAgD;IAChD,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,iCAAiC;YACjC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU;gBAAE,SAAS;YAChE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED,oDAAoD;IACpD,MAAM,aAAa,GAAyB,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;QAC7D,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC;QACzE,MAAM,GAAG,GAAG,aAAa,IAAI,SAAS,CAAC;QACvC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,aAAa,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aACtC,CAAC,CAAC;YACH,SAAS;QACV,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,gBAAgB,GACrB,aAAa,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,MAAM,mCAAmC,CACzC,MAAM,EACN,OAAO,EACP,aAAa,CACb;QACF,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IAC5D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAC3D,aAAa,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAE3C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtE,SAAS;QACV,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE;gBACtD,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,OAAO;aACzB,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,oBAAoB,CAChC,OAAO,EACP,OAAO,EACP,KAAK,CAAC,kBAAkB,CACxB,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;iBACtC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,mEAAmE;YACnE,+DAA+D;QAChE,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC"}
|