@ftptech/canton-agent-wallet 0.7.1 → 0.7.3

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.
@@ -99,6 +99,12 @@ interface DecodedPrepared {
99
99
  * the backstop scans them so a foreign party placed ONLY as an input-contract
100
100
  * signatory/stakeholder (not in its argument) still surfaces. */
101
101
  inputContractPartyMeta: string[];
102
+ /** The SAME authenticated input contracts, GROUPED and carrying identity +
103
+ * template. The flattened lists above are unchanged and remain the generic
104
+ * backstop's input; this grouped view exists so a party occurrence can be
105
+ * related to the contract that explains it (provenance) instead of being
106
+ * accepted by value. */
107
+ inputContracts: DecodedInputContract[];
102
108
  }
103
109
  /**
104
110
  * Decode a base64 `PreparedTransaction` into the bits we validate.
@@ -110,6 +116,34 @@ interface DecodedPrepared {
110
116
  * enforced by the per-arm invariant (`assertSingleAllowedRootExercise`).
111
117
  */
112
118
  export declare function decodePrepared(preparedTransactionB64: string): DecodedPrepared;
119
+ /**
120
+ * Party leaves split by WHERE they appear, for the position-aware foreign-party
121
+ * backstop (the fix for the unpinned-admin/dso neutralization bypass):
122
+ * - `rootArg` : party leaves inside the validated root exercise's
123
+ * chosen_value (where the admin/dso legitimately sits, at a
124
+ * known field position).
125
+ * - `elsewhere` : EVERY other party occurrence anywhere else in the signed
126
+ * message — sibling/consequence node Value payloads, the
127
+ * node-level `repeated string party` metadata
128
+ * (signatories/stakeholders/acting_parties/choice_observers/
129
+ * key-maintainers) of ANY node, and the Create arguments of
130
+ * Metadata.input_contracts. The admin/dso is NOT auto-allowed
131
+ * here just because it equals the relay-supplied value at its
132
+ * root position (that value-global exemption is exactly the
133
+ * neutralization hole); it is allowed here ONLY if pinned to
134
+ * an independently-trusted value. Without a trusted pin a
135
+ * relay-controlled admin/dso appearing here is FOREIGN (fail
136
+ * closed) — a value-moving caller must plumb a trusted pin.
137
+ */
138
+ /** One authenticated `Metadata.input_contracts` entry, grouped (see
139
+ * {@link DecodedPrepared.inputContracts}). */
140
+ export interface DecodedInputContract {
141
+ contractId?: string;
142
+ templateQualifiedName?: string;
143
+ argument?: Uint8Array;
144
+ signatories: string[];
145
+ stakeholders: string[];
146
+ }
113
147
  interface ExtractedTransfer {
114
148
  sender: string;
115
149
  receiver: string;
@@ -1 +1 @@
1
- {"version":3,"file":"verify-prepared.d.ts","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-prepared.d.ts","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"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"}
@@ -744,6 +744,10 @@ const EX_RESULT = 13;
744
744
  const EX_CHOICE_OBSERVERS = 14;
745
745
  const EX_KEY = 15; // Exercise.key : optional GlobalKeyWithMaintainers
746
746
  // interactive.transaction.v1.Create field numbers.
747
+ // Field numbers CONFIRMED against a real MainNet PreparedTransaction (see
748
+ // src/__fixtures__/): lf_version=1, contract_id=2, package_name=3, template_id=4,
749
+ // create_argument=5, signatories=6, stakeholders=7, key=8.
750
+ const CREATE_CONTRACT_ID = 2; // Create.contract_id — identity of the created/input contract.
747
751
  const CREATE_TEMPLATE_ID = 4; // Create.template_id : Identifier (same shape as Exercise.template_id).
748
752
  const CREATE_ARGUMENT = 5;
749
753
  const CREATE_SIGNATORIES = 6;
@@ -983,6 +987,7 @@ export function decodePrepared(preparedTransactionB64) {
983
987
  let maxRecordTime;
984
988
  const inputContractValues = [];
985
989
  const inputContractPartyMeta = [];
990
+ const inputContracts = [];
986
991
  const metadata = lenFieldUnique(top, PT_METADATA, "PreparedTransaction.metadata");
987
992
  if (metadata !== undefined) {
988
993
  const md = decodeMessage(metadata);
@@ -1026,12 +1031,29 @@ export function decodePrepared(preparedTransactionB64) {
1026
1031
  const arg = lenFieldUnique(createFields, CREATE_ARGUMENT, "InputContract.v1.argument");
1027
1032
  if (arg !== undefined)
1028
1033
  inputContractValues.push(arg);
1029
- inputContractPartyMeta.push(...stringFields(createFields, CREATE_SIGNATORIES));
1030
- inputContractPartyMeta.push(...stringFields(createFields, CREATE_STAKEHOLDERS));
1034
+ const icSignatories = stringFields(createFields, CREATE_SIGNATORIES);
1035
+ const icStakeholders = stringFields(createFields, CREATE_STAKEHOLDERS);
1036
+ inputContractPartyMeta.push(...icSignatories);
1037
+ inputContractPartyMeta.push(...icStakeholders);
1031
1038
  const icKey = lenFieldUnique(createFields, CREATE_KEY, "InputContract.v1.key");
1032
1039
  if (icKey !== undefined) {
1033
1040
  collectGlobalKeyWithMaintainersParties(icKey, inputContractPartyMeta, 0);
1034
1041
  }
1042
+ // GROUPED view of the same authenticated input contract. The flattened
1043
+ // lists above stay exactly as they were (every existing consumer is
1044
+ // untouched); this adds the identity + template needed to relate a party
1045
+ // occurrence to the contract that explains it, instead of accepting a
1046
+ // party by VALUE alone.
1047
+ const icTmpl = lenFieldUnique(createFields, CREATE_TEMPLATE_ID, "InputContract.v1.template_id");
1048
+ const icCid = lenFieldUnique(createFields, CREATE_CONTRACT_ID, "InputContract.v1.contract_id");
1049
+ const icQualified = icTmpl !== undefined ? identifierQualifiedName(icTmpl) : undefined;
1050
+ inputContracts.push({
1051
+ ...(icCid !== undefined ? { contractId: utf8(icCid) } : {}),
1052
+ ...(icQualified !== undefined ? { templateQualifiedName: icQualified } : {}),
1053
+ ...(arg !== undefined ? { argument: arg } : {}),
1054
+ signatories: icSignatories,
1055
+ stakeholders: icStakeholders,
1056
+ });
1035
1057
  }
1036
1058
  }
1037
1059
  const transaction = lenFieldUnique(top, PT_TRANSACTION, "PreparedTransaction.transaction");
@@ -1085,39 +1107,29 @@ export function decodePrepared(preparedTransactionB64) {
1085
1107
  maxRecordTime,
1086
1108
  inputContractValues,
1087
1109
  inputContractPartyMeta,
1110
+ inputContracts,
1088
1111
  };
1089
1112
  }
1090
- /* ────────────────────────────────────────────────────────────────────────
1091
- * Shared node-traversal INVARIANT (fix for the fund-redirection bypass).
1092
- *
1093
- * The strong typed-decode core proves the matched exercise's args equal intent.
1094
- * But a signature authorizes the WHOLE DamlTransaction, so verify must also
1095
- * prove there is NOTHING ELSE in the transaction. This invariant, enforced by
1096
- * BOTH the cip56 and v1 arms, requires fail-closed (in this order — the first
1097
- * three preserve the long-standing per-arm rejection messages, the rest close
1098
- * the newly-found node-traversal bypasses):
1099
- *
1100
- * 1. EXACTLY ONE exercise of the allowed choice, and NO other exercise of any
1101
- * choice (extra-leg / wrong-choice / no-exercise contract — unchanged).
1102
- * 2. EVERY node is recognized — known node version (v1) AND a single known
1103
- * node type. Any unrecognized version or unknown/ambiguous node type ⇒
1104
- * reject (closes the non-1000 node-version and unknown-node-type bypasses).
1105
- * 3. EXACTLY ONE root, and that root node is THE single allowed exercise with
1106
- * the expected choice id. >1 root, or a root that is not that exercise ⇒
1107
- * reject (closes the sibling-Create / second-root extra-leg bypass).
1108
- * 4. NO ORPHANS — every other node is reachable from the root via the
1109
- * exercise/rollback children chain. An unreferenced sibling node (even if
1110
- * `roots` lists only the honest id) ⇒ reject.
1111
- *
1112
- * The authoritative-submitter (act_as) check and the position-aware all-message
1113
- * value backstop are applied by the arm AFTER its money-critical field comparison
1114
- * (so a consistent-attacker tx still surfaces as a field mismatch first), via
1115
- * `assertActAsIsSender` / `collectSplitPartyLeaves` + `assertNoForeignParties`.
1116
- *
1117
- * Returns the single validated root exercise (and its node id, for the
1118
- * position-aware backstop) so the arm can extract+compare its money-critical
1119
- * fields. `allowedChoiceId` is the only choice the root may be.
1120
- */
1113
+ /** Does `ex` match one of the consequence rules? A pinned rule requires BOTH the
1114
+ * choice id and a template from its whitelist; an exercise whose template we
1115
+ * could not decode never satisfies a pinned rule (fail-closed — we cannot prove
1116
+ * which implementation of the interface would run). */
1117
+ function isAllowedConsequence(ex, rules) {
1118
+ for (const rule of rules) {
1119
+ if (typeof rule === "string") {
1120
+ if (rule === ex.choiceId)
1121
+ return true;
1122
+ continue;
1123
+ }
1124
+ if (rule.choiceId !== ex.choiceId)
1125
+ continue;
1126
+ if (ex.templateQualifiedName === undefined)
1127
+ continue;
1128
+ if (rule.templates.includes(ex.templateQualifiedName))
1129
+ return true;
1130
+ }
1131
+ return false;
1132
+ }
1121
1133
  function assertSingleAllowedRootExercise(decoded, allowedChoiceId,
1122
1134
  /** Human-friendly plural ("transfer" / the choice id) used ONLY in the
1123
1135
  * exercise-count messages so each arm keeps its historical wording. */
@@ -1128,7 +1140,14 @@ countNoun = allowedChoiceId,
1128
1140
  * below: there is exactly ONE root (the allowed choice) and every node —
1129
1141
  * these included — must be reachable from it (no sibling-root / orphan drain
1130
1142
  * leg). A value-MOVING choice is never placed here, so an injected outbound
1131
- * drain is still refused. */
1143
+ * drain is still refused.
1144
+ *
1145
+ * A bare string permits the choice on ANY template — safe only for choices
1146
+ * defined on a TEMPLATE, where the name already identifies the code that
1147
+ * runs (`Archive`, the Splice settlement choices). An INTERFACE choice must
1148
+ * use the pinned object form: its body is `virtual`, chosen by whichever
1149
+ * package implements the interface, so the name alone proves nothing about
1150
+ * what executes. See `EVENT_LOG_HOLDINGS_CHANGE`. */
1132
1151
  allowedConsequenceChoices = []) {
1133
1152
  // (1) Exercise-count contract (unchanged messages): exactly one exercise of
1134
1153
  // the allowed choice, and no other exercise of any choice. This runs first so
@@ -1143,7 +1162,7 @@ allowedConsequenceChoices = []) {
1143
1162
  throw new PreparedTransferMismatchError(`relay-prepared transaction contains ${allowedExercises.length} ${countNoun} ` +
1144
1163
  `exercises — refusing to sign (possible tampered/compromised relay adding a second leg)`);
1145
1164
  }
1146
- const otherExercises = decoded.exercises.filter((e) => e.choiceId !== allowedChoiceId && !allowedConsequenceChoices.includes(e.choiceId));
1165
+ const otherExercises = decoded.exercises.filter((e) => e.choiceId !== allowedChoiceId && !isAllowedConsequence(e, allowedConsequenceChoices));
1147
1166
  if (otherExercises.length > 0) {
1148
1167
  throw new PreparedTransferMismatchError(`relay-prepared transaction contains unexpected exercise(s) ` +
1149
1168
  `${otherExercises.map((e) => JSON.stringify(e.choiceId)).join(", ")} — refusing to sign`);
@@ -1393,21 +1412,35 @@ function assertContractIdMatches(ex, expected) {
1393
1412
  function collectSplitPartyLeaves(decoded, rootNodeId) {
1394
1413
  const rootArg = [];
1395
1414
  const elsewhere = [];
1415
+ const nodeValues = [];
1416
+ const inputArgs = [];
1396
1417
  for (const node of decoded.nodes) {
1397
1418
  const isRoot = node.nodeId === rootNodeId;
1419
+ // A node's VALUE payloads carry ownership (a Create argument names the owner
1420
+ // of what it creates), so they are tagged with the node's template and kept
1421
+ // OUT of the loose `elsewhere` bucket. For the generic (no role exception)
1422
+ // case they are checked with exactly the same rule as `elsewhere`, so this
1423
+ // split is behaviour-preserving.
1424
+ const tag = node.create?.templateQualifiedName;
1425
+ const collectValue = (value) => {
1426
+ const parties = [];
1427
+ collectPartyLeaves(value, parties, 0);
1428
+ if (parties.length > 0)
1429
+ nodeValues.push({ templateQualifiedName: tag, parties });
1430
+ };
1398
1431
  if (isRoot && node.exercise !== undefined) {
1399
1432
  // The root exercise's chosen_value is the only place the admin/dso may sit
1400
1433
  // at its pinned position; its exercise_result (also in node.values) is a
1401
- // consequence, so treat it as "elsewhere".
1434
+ // consequence, so treat it as a tagged value payload.
1402
1435
  collectPartyLeaves(node.exercise.chosenValue, rootArg, 0);
1403
1436
  for (const value of node.values) {
1404
1437
  if (value !== node.exercise.chosenValue)
1405
- collectPartyLeaves(value, elsewhere, 0);
1438
+ collectValue(value);
1406
1439
  }
1407
1440
  }
1408
1441
  else {
1409
1442
  for (const value of node.values)
1410
- collectPartyLeaves(value, elsewhere, 0);
1443
+ collectValue(value);
1411
1444
  }
1412
1445
  // Node-level party metadata (authorization/visibility parties) — for ALL
1413
1446
  // nodes including the root — are never a place the relay may introduce an
@@ -1415,16 +1448,23 @@ function collectSplitPartyLeaves(decoded, rootNodeId) {
1415
1448
  for (const p of node.partyMeta)
1416
1449
  elsewhere.push(p);
1417
1450
  }
1418
- // Metadata.input_contracts Create arguments (SIGNED): any party here is an
1419
- // input-contract payload party — not a place a new recipient legitimately
1420
- // appears, so scan it under `elsewhere` too.
1421
- for (const value of decoded.inputContractValues)
1422
- collectPartyLeaves(value, elsewhere, 0);
1451
+ // Authenticated input-contract ARGUMENTS, tagged by their template so a
1452
+ // protocol role can be recognised at the exact contract that explains it.
1453
+ for (const ic of decoded.inputContracts) {
1454
+ if (ic.argument === undefined)
1455
+ continue;
1456
+ const parties = [];
1457
+ collectPartyLeaves(ic.argument, parties, 0);
1458
+ if (parties.length > 0) {
1459
+ inputArgs.push({ templateQualifiedName: ic.templateQualifiedName, parties });
1460
+ }
1461
+ }
1423
1462
  // Metadata.input_contracts Create signatories/stakeholders/key (also SIGNED via
1424
- // the V2 metadata hasher's disclosed-contract hashNode): same treatment.
1463
+ // the V2 metadata hasher's disclosed-contract hashNode): authorization
1464
+ // metadata, same treatment as node metadata.
1425
1465
  for (const p of decoded.inputContractPartyMeta)
1426
1466
  elsewhere.push(p);
1427
- return { rootArg, elsewhere };
1467
+ return { rootArg, elsewhere, nodeValues, inputArgs };
1428
1468
  }
1429
1469
  /**
1430
1470
  * The foreign-party backstop, position-aware so a relay-supplied admin/dso can
@@ -1439,8 +1479,24 @@ function collectSplitPartyLeaves(decoded, rootNodeId) {
1439
1479
  * caller value — only then is it safe to value-exclude it
1440
1480
  * OUTSIDE its root position (consequence/meta/input nodes).
1441
1481
  */
1442
- function assertNoForeignParties(leaves, allowed, adminDso, adminDsoRootMax, adminDsoTrusted) {
1482
+ function assertNoForeignParties(leaves, allowed, adminDso, adminDsoRootMax, adminDsoTrusted,
1483
+ /** The `provider` of the MATCHED standard TransferPreapproval, when one was
1484
+ * proven to belong to this exact transfer (see matchPreapprovalProvider).
1485
+ * undefined → no exception at all, and every bucket below behaves exactly as
1486
+ * it did before this role existed. */
1487
+ preapprovalProvider) {
1443
1488
  const foreign = [];
1489
+ /** Templates at which the matched provider legitimately appears INSIDE a
1490
+ * payload. Everything else, including any Amulet/holding create, stays
1491
+ * foreign — that is the single loss barrier this exception rests on. */
1492
+ const providerArgTemplates = new Set([
1493
+ PREAPPROVAL_TEMPLATE, // its own provider field (declaration position 2)
1494
+ FEATURED_APP_RIGHT_TEMPLATE, // the provider's featured-app right, fetched
1495
+ FEATURED_APP_MARKER_TEMPLATE, // the reward marker naming it as beneficiary
1496
+ ]);
1497
+ const providerAllowedIn = (template) => preapprovalProvider !== undefined &&
1498
+ template !== undefined &&
1499
+ providerArgTemplates.has(template);
1444
1500
  // Root chosen_value: allow recipients freely; allow adminDso up to its known
1445
1501
  // count at its pinned position(s); a SECOND/extra occurrence (e.g. a smuggled
1446
1502
  // extra recipient leaf that happens to equal the admin/dso value) is foreign.
@@ -1473,8 +1529,50 @@ function assertNoForeignParties(leaves, allowed, adminDso, adminDsoRootMax, admi
1473
1529
  continue;
1474
1530
  if (adminDso !== undefined && adminDsoTrusted && p === adminDso)
1475
1531
  continue;
1532
+ // AUTHORIZATION / VISIBILITY metadata only. The matched preapproval provider
1533
+ // is a signatory of its own contract and an authorizer of the delivery
1534
+ // exercise, so it necessarily appears here. Ownership is NOT expressible in
1535
+ // this bucket — it lives in the tagged argument buckets below — so granting
1536
+ // the role here cannot create a second money destination.
1537
+ if (preapprovalProvider !== undefined && p === preapprovalProvider)
1538
+ continue;
1476
1539
  foreign.push(p);
1477
1540
  }
1541
+ // VALUE payloads (consequence Create arguments + exercise results). Identical
1542
+ // rule to `elsewhere` for everyone EXCEPT the provider, which is admitted only
1543
+ // inside the reward marker that names it as beneficiary. Any other create —
1544
+ // above all `Splice.Amulet:Amulet` — keeps rejecting it, so the provider can
1545
+ // never become an owner of value.
1546
+ for (const bucket of leaves.nodeValues) {
1547
+ for (const p of bucket.parties) {
1548
+ if (allowed.has(p))
1549
+ continue;
1550
+ if (adminDso !== undefined && adminDsoTrusted && p === adminDso)
1551
+ continue;
1552
+ if (preapprovalProvider !== undefined &&
1553
+ p === preapprovalProvider &&
1554
+ providerAllowedIn(bucket.templateQualifiedName)) {
1555
+ continue;
1556
+ }
1557
+ foreign.push(p);
1558
+ }
1559
+ }
1560
+ // Authenticated input-contract ARGUMENTS. Same rule; the provider is admitted
1561
+ // only inside the preapproval it provides and its own featured-app right.
1562
+ for (const bucket of leaves.inputArgs) {
1563
+ for (const p of bucket.parties) {
1564
+ if (allowed.has(p))
1565
+ continue;
1566
+ if (adminDso !== undefined && adminDsoTrusted && p === adminDso)
1567
+ continue;
1568
+ if (preapprovalProvider !== undefined &&
1569
+ p === preapprovalProvider &&
1570
+ providerAllowedIn(bucket.templateQualifiedName)) {
1571
+ continue;
1572
+ }
1573
+ foreign.push(p);
1574
+ }
1575
+ }
1478
1576
  if (foreign.length > 0) {
1479
1577
  const uniq = [...new Set(foreign)];
1480
1578
  throw new PreparedTransferMismatchError(`relay-prepared transaction references unexpected part${uniq.length === 1 ? "y" : "ies"} ` +
@@ -1482,6 +1580,131 @@ function assertNoForeignParties(leaves, allowed, adminDso, adminDsoRootMax, admi
1482
1580
  `(possible tampered/compromised relay redirecting funds)`);
1483
1581
  }
1484
1582
  }
1583
+ /* ────────────────────────────────────────────────────────────────────────
1584
+ * Standard validator-provided TransferPreapproval.
1585
+ *
1586
+ * A Splice `TransferPreapproval` is `signatory receiver, provider, dso`. The
1587
+ * merchant may create it through its OWN validator, in which case `provider` is
1588
+ * the validator operator party — a THIRD party, distinct from sender/receiver.
1589
+ * That is the stock shape (it keeps validator renewal automation and the
1590
+ * provider's featured-app attribution), so the payer wallet MUST be able to sign
1591
+ * such a transfer. Before this, the generic backstop read the provider as an
1592
+ * injected recipient and refused; only `provider == receiver` happened to pass.
1593
+ *
1594
+ * THE PROVIDER IS NEVER TRUSTED. It is read out of relay-supplied bytes, so it
1595
+ * is bound as a local PROTOCOL ROLE and only after proving, structurally, that
1596
+ * it is the provider of the exact preapproval this transfer delivers through:
1597
+ *
1598
+ * 1. exactly ONE authenticated input contract is a TransferPreapproval;
1599
+ * 2. its `receiver` equals the caller's intended receiver;
1600
+ * 3. its `dso` equals the transfer's instrument admin;
1601
+ * 4. its signatory set is exactly {receiver, provider, dso};
1602
+ * 5. a consequence exercises `TransferPreapproval_Send`/`_SendV2` on the
1603
+ * TransferPreapproval template, targeting THAT contract id.
1604
+ *
1605
+ * The role then buys exactly one thing: the provider stops being "foreign" in
1606
+ * authorization metadata and inside the three payloads that structurally must
1607
+ * name it. It is still foreign in the root transfer record and in every
1608
+ * value-owning position, so it can never become a second money destination.
1609
+ *
1610
+ * Residual, accepted knowingly: a fabricated-but-self-consistent preapproval can
1611
+ * satisfy 1-5 locally, because contract EXISTENCE is proven downstream by the
1612
+ * ledger, not here. The outcome of that is a signed transaction the participant
1613
+ * refuses to execute — denial and retry, never payer-fund loss, because the
1614
+ * money-position rule holds regardless.
1615
+ * ──────────────────────────────────────────────────────────────────────── */
1616
+ const PREAPPROVAL_TEMPLATE = "Splice.AmuletRules:TransferPreapproval";
1617
+ const FEATURED_APP_RIGHT_TEMPLATE = "Splice.Amulet:FeaturedAppRight";
1618
+ const FEATURED_APP_MARKER_TEMPLATE = "Splice.Amulet:FeaturedAppActivityMarker";
1619
+ /** Delivery choices that consume a TransferPreapproval. `_Send` is the legacy
1620
+ * name; the live TransferFactory path uses `_SendV2`. Both are already in
1621
+ * TRANSFER_CONSEQUENCE_CHOICES, so this set only identifies the delivery node. */
1622
+ const PREAPPROVAL_SEND_CHOICES = new Set([
1623
+ "TransferPreapproval_Send",
1624
+ "TransferPreapproval_SendV2",
1625
+ ]);
1626
+ /**
1627
+ * Read `TransferPreapproval` by DAML DECLARATION ORDER — [0] dso, [1] receiver,
1628
+ * [2] provider — with the same label/position-divergence guard the money fields
1629
+ * use, so a relay cannot relabel fields to move the provider slot. Order
1630
+ * CONFIRMED against a real MainNet input contract (see src/__fixtures__/).
1631
+ * Returns undefined when the record does not have that exact shape; the caller
1632
+ * then grants no role and the generic backstop refuses as before.
1633
+ */
1634
+ function extractTransferPreapproval(argument) {
1635
+ let entries;
1636
+ try {
1637
+ entries = recordEntries(argument);
1638
+ }
1639
+ catch {
1640
+ return undefined;
1641
+ }
1642
+ const dsoE = entryByDeclOrder(entries, 0, "dso");
1643
+ const receiverE = entryByDeclOrder(entries, 1, "receiver");
1644
+ const providerE = entryByDeclOrder(entries, 2, "provider");
1645
+ if (!dsoE || !receiverE || !providerE)
1646
+ return undefined;
1647
+ const dso = leafOf(dsoE.value);
1648
+ const receiver = leafOf(receiverE.value);
1649
+ const provider = leafOf(providerE.value);
1650
+ if (dso?.kind !== "party" || receiver?.kind !== "party" || provider?.kind !== "party") {
1651
+ return undefined;
1652
+ }
1653
+ return { dso: dso.value, receiver: receiver.value, provider: provider.value };
1654
+ }
1655
+ /**
1656
+ * Prove that this transfer delivers through a standard TransferPreapproval and
1657
+ * return ITS provider, or undefined when nothing may be granted. See the block
1658
+ * comment above for the five binding rules and the threat argument.
1659
+ *
1660
+ * Deliberately returns undefined (no role, generic backstop applies) rather than
1661
+ * throwing: a transfer that never touches a preapproval, or an ambiguous set of
1662
+ * them, must keep the pre-existing behaviour exactly.
1663
+ */
1664
+ function matchPreapprovalProvider(decoded, expectedReceiver, instrumentAdmin) {
1665
+ // 1. EXACTLY one authenticated preapproval input. Zero → nothing to grant.
1666
+ // Two or more → ambiguous, and picking one would let a relay pair an honest
1667
+ // preapproval with a decoy whose provider it controls. Refuse to grant.
1668
+ const candidates = decoded.inputContracts.filter((ic) => ic.templateQualifiedName === PREAPPROVAL_TEMPLATE);
1669
+ if (candidates.length !== 1)
1670
+ return undefined;
1671
+ const ic = candidates[0];
1672
+ if (ic.argument === undefined || ic.contractId === undefined)
1673
+ return undefined;
1674
+ const pre = extractTransferPreapproval(ic.argument);
1675
+ if (pre === undefined)
1676
+ return undefined;
1677
+ // 2 + 3. The preapproval must be FOR the payment we intend: our receiver, our
1678
+ // instrument admin. A preapproval belonging to anyone else grants
1679
+ // nothing, so a provider harvested from an unrelated contract is inert.
1680
+ if (pre.receiver !== expectedReceiver)
1681
+ return undefined;
1682
+ if (pre.dso !== instrumentAdmin)
1683
+ return undefined;
1684
+ // 4. Signatories must be exactly the protocol trio. A relay that appends an
1685
+ // extra signatory is not presenting a stock preapproval.
1686
+ const sigs = new Set(ic.signatories);
1687
+ if (sigs.size !== 3)
1688
+ return undefined;
1689
+ for (const p of [pre.dso, pre.receiver, pre.provider]) {
1690
+ if (!sigs.has(p))
1691
+ return undefined;
1692
+ }
1693
+ // The provider must never be aliased to a money party — that would smuggle a
1694
+ // money party into the role exception and exempt it everywhere.
1695
+ if (pre.provider === pre.receiver && pre.provider === pre.dso)
1696
+ return undefined;
1697
+ // 5. The delivery consequence must exercise the preapproval template on THAT
1698
+ // contract id. This binds the role to the node that actually spends it,
1699
+ // rather than to a contract merely present in the input set.
1700
+ const delivered = decoded.nodes.some((n) => n.exercise !== undefined &&
1701
+ PREAPPROVAL_SEND_CHOICES.has(n.exercise.choiceId) &&
1702
+ n.exercise.templateQualifiedName === PREAPPROVAL_TEMPLATE &&
1703
+ n.exercise.contractId === ic.contractId);
1704
+ if (!delivered)
1705
+ return undefined;
1706
+ return pre.provider;
1707
+ }
1485
1708
  /**
1486
1709
  * Cross-check the authoritative submitter (Metadata.submitter_info.act_as):
1487
1710
  * REQUIRE a non-empty act_as whose only party is the sender. The non-empty
@@ -1665,10 +1888,39 @@ export class PreparedTransferMismatchError extends Error {
1665
1888
  * orphan). sender/receiver/amount/admin stay pinned by extractTransfer and the
1666
1889
  * all-nodes foreign-party backstop still runs, so an injected redirect is still
1667
1890
  * refused. (Mirrors ACCEPT_CONSEQUENCE_CHOICES on the claim path.) */
1891
+ /** `EventLog_HoldingsChange` — introduced by splice-amulet 0.1.21, which Canton
1892
+ * MainNet adopted 2026-07-28. It is exercised UNCONDITIONALLY on every amulet
1893
+ * transfer on the external-party path, so leaving it out rejects every payment
1894
+ * (the outage of 2026-08-01/02).
1895
+ *
1896
+ * It is declared on the INTERFACE `EventLog`
1897
+ * (splice-api-token-transfer-events-v2), whose body is virtual: the implementing
1898
+ * package decides what runs. Allowlisting the bare NAME would therefore let any
1899
+ * package that implements the same interface run arbitrary code — including
1900
+ * consuming effects on children, which surface as the already-allowed `Archive`.
1901
+ * So we pin the templates whose implementation we have actually inspected: both
1902
+ * route to `eventLog_holdingsChangeDefaultImpl dso`, which only asserts
1903
+ * `admin == dso` and returns an empty record — no create, archive, lock or burn.
1904
+ *
1905
+ * Templates measured on a real MainNet prepared accept (26,668 bytes, captured
1906
+ * 2026-08-02 via e2e/capture-accept-bytes.mjs): ExternalPartyConfigState twice
1907
+ * as a DIRECT child of the root, AmuletEventLog once as a GRANDCHILD under
1908
+ * LockedAmulet_UnlockV2. Depth therefore varies — never pin it. The node's own
1909
+ * `amount`/`otherside` fields are NOT validated by the choice body, so amount,
1910
+ * receiver and instrument stay pinned exclusively from the root's chosen value,
1911
+ * and the foreign-party backstop still scans this node's leaves. */
1912
+ const EVENT_LOG_HOLDINGS_CHANGE = {
1913
+ choiceId: "EventLog_HoldingsChange",
1914
+ templates: [
1915
+ "Splice.ExternalPartyConfigState:ExternalPartyConfigState",
1916
+ "Splice.AmuletEventLog:AmuletEventLog",
1917
+ ],
1918
+ };
1668
1919
  const TRANSFER_CONSEQUENCE_CHOICES = [
1669
1920
  "Archive",
1670
1921
  "TransferPreapproval_Send",
1671
1922
  "TransferPreapproval_SendV2",
1923
+ EVENT_LOG_HOLDINGS_CHANGE,
1672
1924
  ];
1673
1925
  /**
1674
1926
  * Canonicalize a CC amount decimal string to a fixed 10-fractional-digit form
@@ -1764,7 +2016,14 @@ export function assertPreparedTransferMatches(preparedTransactionB64, expect) {
1764
2016
  // unpinned admin can no longer be aliased to the attacker and smuggled in as a
1765
2017
  // consequence/metadata recipient.
1766
2018
  const leaves = collectSplitPartyLeaves(decoded, rootNodeId);
1767
- assertNoForeignParties(leaves, new Set([expect.sender, expect.receiver]), t.instrumentAdmin, 2 /* expectedAdmin + instrumentId.admin */, expect.instrumentAdmin !== undefined /* trusted iff caller pinned it */);
2019
+ // Standard validator-provided preapprovals put a THIRD party (the provider)
2020
+ // into authorization metadata and three specific payloads. Prove it is the
2021
+ // provider of the exact preapproval this transfer delivers through, then admit
2022
+ // it ONLY at those positions. undefined → no exception, byte-identical to the
2023
+ // pre-existing behaviour (self-provider merchants take this path unchanged,
2024
+ // because there the provider IS the receiver and was never foreign).
2025
+ const preapprovalProvider = matchPreapprovalProvider(decoded, expect.receiver, t.instrumentAdmin);
2026
+ assertNoForeignParties(leaves, new Set([expect.sender, expect.receiver]), t.instrumentAdmin, 2 /* expectedAdmin + instrumentId.admin */, expect.instrumentAdmin !== undefined /* trusted iff caller pinned it */, preapprovalProvider);
1768
2027
  }
1769
2028
  /* ════════════════════════════════════════════════════════════════════════
1770
2029
  * claim path — verify-before-sign for `TransferInstruction_Accept`.
@@ -1798,7 +2057,11 @@ const ACCEPT_CHOICE = "TransferInstruction_Accept";
1798
2057
  * locked amulet to the receiver. Permitted ONLY as reachable consequences of
1799
2058
  * the single Accept root (never as a second root / orphan), and never extended
1800
2059
  * to a value-moving choice — so an injected outbound drain is still refused. */
1801
- const ACCEPT_CONSEQUENCE_CHOICES = ["Archive", "LockedAmulet_UnlockV2"];
2060
+ const ACCEPT_CONSEQUENCE_CHOICES = [
2061
+ "Archive",
2062
+ "LockedAmulet_UnlockV2",
2063
+ EVENT_LOG_HOLDINGS_CHANGE,
2064
+ ];
1802
2065
  /**
1803
2066
  * Assert the relay-returned `preparedTransaction` for the claim path encodes
1804
2067
  * EXACTLY a single `TransferInstruction_Accept` exercise submitted by the agent —
@@ -1 +1 @@
1
- {"version":3,"file":"verify-prepared.js","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAG/E;;;;8EAI8E;AAC9E,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,OAAO,GAAG,CAAC,CAAC;AAsBlB,SAAS,UAAU,CAAC,GAAe,EAAE,GAAW;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAW,CAAC;QAC/B,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;QACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,KAAK,GAAG,EAAE;YAAE,MAAM;IACxB,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAAe;IACpC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,GAAG,GAAG,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QACvB,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QACzE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,GAAG,GAAG,EAAE,CAAC;YACT,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,mBAAmB,CAAC,wCAAwC,CAAC,CAAC;YAC1E,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,GAAG,IAAI,GAAG,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC;YAClB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,GAAG,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM;gBAAE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;YACxF,2EAA2E;YAC3E,6EAA6E;YAC7E,wEAAwE;YACxE,2EAA2E;YAC3E,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM;gBAAE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;YACxF,GAAG,IAAI,CAAC,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAAC,MAAmB,EAAE,KAAa;IACnD,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;SAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,cAAc,CACrB,MAAmB,EACnB,KAAa,EACb,IAAY;IAEZ,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,mBAAmB,CAC3B,sBAAsB,KAAK,KAAK,IAAI,aAAa,GAAG,CAAC,MAAM,WAAW;YACpE,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAmB,EAAE,KAAa;IACvD,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,SAAS,IAAI,CAAC,KAAiB;IAC7B,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY,CAAC,MAAmB,EAAE,KAAa;IACtD,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAClF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,MAAmB,EAAE,KAAa;IAC1D,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,MAAmB,EAAE,KAAa;IACvD,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAC/E,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,SAAS,iBAAiB,CAAC,MAAmB,EAAE,KAAa;IAC3D,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAiB;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,KAAK,CAAC,MAAM,+CAA+C,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CACzB,MAAmB,EACnB,KAAa,EACb,IAAY;IAEZ,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,KAAK,KAAK,IAAI,aAAa,GAAG,CAAC,MAAM,WAAW;YAC5E,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,eAAe,CAAC,IAAI,CAAC,YAA0B,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAiB;IACvC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAC7B,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,KAAK,IAAI,EAAE,CAAC;QACZ,IAAI,KAAK,GAAG,GAAG;YAAE,MAAM;IACzB,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,MAAmB,EACnB,KAAa,EACb,IAAY;IAEZ,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,mBAAmB,CAC3B,6BAA6B,KAAK,KAAK,IAAI,aAAa,GAAG,CAAC,MAAM,WAAW;YAC3E,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,cAAc,CAAC,IAAI,CAAC,WAAyB,CAAC,CAAC;AACxD,CAAC;AAED;;;;8EAI8E;AAE9E,uDAAuD;AACvD,sEAAsE;AACtE,uEAAuE;AACvE,uBAAuB;AACvB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,iEAAiE;AACnF,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,sCAAsC;AACxD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,gEAAgE;AACnF,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,sEAAsE;AACxF,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,wFAAwF;AAC/G,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,sEAAsE;AAC/F,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAC7E,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAC5E,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,2EAA2E;AAC9F;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS;IAC7C,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACX,SAAS;IACT,OAAO;IACP,MAAM;IACN,aAAa;IACb,UAAU;IACV,MAAM;IACN,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AACH,wEAAwE;AACxE,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,iFAAiF;AACjF,iFAAiF;AACjF,mEAAmE;AACnE,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,WAAW,GAAG,CAAC,CAAC;AAsBtB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,iFAAiF;AACjF,SAAS,aAAa,CAAC,KAAiB;IACtC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC7D,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5B,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;QACxF,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;YAAE,SAAS;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAmB,CAC3B,yCAAyC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gBACnE,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,KAAiB;IAChD,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,kCAAkC;IAClC,MAAM,UAAU,GAAyC;QACvD,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;QACzC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;QACrC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;QACnC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;QACvC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAC3C,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;QACnC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAC3C,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;QACzC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;KAC1C,CAAC;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,aAAa,GAAyC;QAC1D,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;KACtC,CAAC;IACF,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,iEAAiE;IACjE,MAAM,cAAc,GAAyC;QAC3D,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE;KAC9C,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAC3B,sBAAsB,CAAC,CAAC,IAAI,QAAQ,KAAK,8BAA8B;gBACrE,6DAA6D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAC3B,sBAAsB,CAAC,CAAC,IAAI,QAAQ,KAAK,8BAA8B;gBACrE,6DAA6D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAC3B,sBAAsB,CAAC,CAAC,IAAI,QAAQ,KAAK,8BAA8B;gBACrE,6DAA6D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,mBAAmB,CAC3B,8EAA8E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,KAAiB;IAC/B,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACnE,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,iFAAiF;IACjF,8EAA8E;IAC9E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9F,sEAAsE;IACtE,gFAAgF;IAChF,gFAAgF;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,kEAAkE;IAClE,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACxE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;qDAIqD;AACrD,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAiB;IAChD,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,mBAAmB,CAC3B,kDAAkD,CAAC,CAAC,KAAK,uBAAuB;gBAC9E,8DAA8D,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,KAAiB,EACjB,GAAa,EACb,KAAa;IAEb,IAAI,KAAK,GAAG,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,6CAA6C;IAC7C,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,wCAAwC;IAClD,CAAC;IACD,8EAA8E;IAC9E,2EAA2E;IAC3E,kEAAkE;IAClE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,oCAAoC;IACpC,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS;gBAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;IACT,CAAC;IACD,0BAA0B;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;YAC/D,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO;IACT,CAAC;IACD,iCAAiC;IACjC,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACnF,IAAI,KAAK,KAAK,SAAS;YAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,gCAAgC;IAChC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QACrF,IAAI,KAAK,KAAK,SAAS;YAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,SAAS;gBAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACjE,IAAI,GAAG,KAAK,SAAS;gBAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IACD,8EAA8E;IAC9E,wDAAwD;IACxD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;YACnE,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;YACrF,IAAI,GAAG,KAAK,SAAS;gBAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,sCAAsC,CAC7C,IAAgB,EAChB,GAAa,EACb,KAAa;IAEb,IAAI,KAAK,GAAG,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;IACtF,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/C,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAC9E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAC1F,IAAI,QAAQ,KAAK,SAAS;YAAE,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;8EAE8E;AAE9E,yEAAyE;AACzE,yEAAyE;AACzE,mDAAmD;AACnD,uDAAuD;AACvD,kDAAkD;AAClD,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,8EAA8E;AAC9E,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,8EAA8E;AAC9E,2EAA2E;AAC3E,qEAAqE;AACrE,oDAAoD;AACpD,4EAA4E;AAC5E,+EAA+E;AAC/E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AACxC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,+CAA+C;AAC/C,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,yFAAyF;AACzF,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,wDAAwD;AAClF,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,mDAAmD;AACtE,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAC,wEAAwE;AACtG,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,iDAAiD;AACvE,mFAAmF;AACnF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,gDAAgD;AACrE,gFAAgF;AAChF,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,4CAA4C;AAC/D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,2CAA2C;AAC/D,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,+DAA+D;AAC3F,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,sDAAsD;AAC/E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,sFAAsF;AACtF,gFAAgF;AAChF,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,gDAAgD;AAChD,MAAM,eAAe,GAAG,0BAA0B,CAAC;AA2GnD,yEAAyE;AACzE,SAAS,YAAY,CAAC,MAAmB,EAAE,KAAa;IACtD,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,OAAmB;IAClD,mEAAmE;IACnE,+EAA+E;IAC/E,gFAAgF;IAChF,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,kDAAkD;IAClD,IAAI,UAAkC,CAAC;IACvC,IAAI,UAAkC,CAAC;IACvC,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACjC,UAAU,GAAG,cAAc,CAAC,CAAC,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACzE,UAAU,GAAG,cAAc,CAAC,CAAC,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACzE,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,8EAA8E;IAC9E,gFAAgF;IAChF,gCAAgC;IAChC,IAAI,wBAAwB;QAAE,OAAO,SAAS,CAAC;IAC/C,4EAA4E;IAC5E,+EAA+E;IAC/E,+DAA+D;IAC/D,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CAAC,MAAkB;IAUtC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,qEAAqE;IACrE,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,0BAA0B;IACxG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,2BAA2B;IAEvG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;QAClF,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG;YAChB,GAAG,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC;YACzC,GAAG,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC;YAC1C,GAAG,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC;YAC5C,GAAG,YAAY,CAAC,QAAQ,EAAE,mBAAmB,CAAC;SAC/C,CAAC;QACF,6EAA6E;QAC7E,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YAAE,sCAAsC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,GAAG,GACP,aAAa,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YACjD,CAAC,CAAC;gBACE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC7B,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,qBAAqB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aACtF;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG;YAChB,GAAG,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;YAC5C,GAAG,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC;SAC9C,CAAC;QACF,wEAAwE;QACxE,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/D,IAAI,IAAI,KAAK,SAAS;YAAE,sCAAsC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,sEAAsE;YACtE,4EAA4E;YAC5E,sCAAsC;YACtC,MAAM,EAAE;gBACN,qBAAqB,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvF,QAAQ,EAAE,GAAG;aACd;YACD,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACtC,SAAS;SACV,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,0EAA0E;QAC1E,wEAAwE;QACxE,mEAAmE;QACnE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG;YAChB,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC;YAC3C,GAAG,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;YAC5C,GAAG,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC;SAC/C,CAAC;QACF,2EAA2E;QAC3E,uCAAuC;QACvC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,sCAAsC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAChE,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,OAAO,GAAG,aAAa,CAAC,UAAwB,CAAC,CAAC;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,sCAAsC,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,sBAA8B;IAC3D,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mBAAmB,CAAC,yCAAyC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,4CAA4C,CAAC,CAAC;IAEpG,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEjC,oEAAoE;IACpE,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,cAAkC,CAAC;IACvC,IAAI,eAAmC,CAAC;IACxC,IAAI,sBAA0C,CAAC;IAC/C,IAAI,sBAA0C,CAAC;IAC/C,IAAI,aAAiC,CAAC;IACtC,MAAM,mBAAmB,GAAiB,EAAE,CAAC;IAC7C,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC;IAClF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;QAC5E,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,2EAA2E;QAC3E,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;QAChF,IAAI,IAAI,KAAK,SAAS;YAAE,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,gFAAgF;QAChF,eAAe,GAAG,iBAAiB,CAAC,EAAE,EAAE,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;QAC1F,sBAAsB,GAAG,iBAAiB,CACxC,EAAE,EACF,4BAA4B,EAC5B,oCAAoC,CACrC,CAAC;QACF,sBAAsB,GAAG,iBAAiB,CACxC,EAAE,EACF,4BAA4B,EAC5B,oCAAoC,CACrC,CAAC;QACF,aAAa,GAAG,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;QACtF,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,+EAA+E;QAC/E,8EAA8E;QAC9E,gFAAgF;QAChF,8EAA8E;QAC9E,gFAAgF;QAChF,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACrE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,0EAA0E;gBAC1E,0EAA0E;gBAC1E,sEAAsE;gBACtE,uEAAuE;gBACvE,wEAAwE;gBACxE,wEAAwE;gBACxE,+BAA+B;gBAC/B,MAAM,IAAI,mBAAmB,CAC3B,iFAAiF;oBAC/E,kFAAkF,CACrF,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,YAAY,EAAE,eAAe,EAAE,2BAA2B,CAAC,CAAC;YACvF,IAAI,GAAG,KAAK,SAAS;gBAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC/E,sBAAsB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;YAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,sCAAsC,CAAC,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,CAAC,CAAC;IAC3F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,mBAAmB,CAAC,wCAAwC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,wEAAwE;QACxE,qEAAqE;QACrE,0BAA0B;QAC1B,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CACzE,CAAC;QACF,IAAI,EAAE,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1F,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,MAAM;YACN,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,SAAS,EAAE,EAAE,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC;IACD,OAAO;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,SAAS;QACT,cAAc;QACd,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,aAAa;QACb,mBAAmB;QACnB,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,+BAA+B,CACtC,OAAwB,EACxB,eAAuB;AACvB;wEACwE;AACxE,YAAoB,eAAe;AACnC;;;;;;8BAM8B;AAC9B,4BAA+C,EAAE;IAEjD,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC;IACzF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,6BAA6B,CACrC,0CAA0C,eAAe,+BAA+B;YACtF,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,gBAAgB,CAAC,MAAM,IAAI,SAAS,GAAG;YAC5E,wFAAwF,CAC3F,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CACzF,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,6BAA6B,CACrC,6DAA6D;YAC3D,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAC3F,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,kCAAkC;IAClC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACrC,kDAAkD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvF,uFAAuF;gBACvF,oCAAoC,CACvC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACrC,kDAAkD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvF,mDAAmD,CACtD,CAAC;QACJ,CAAC;QACD,8EAA8E;QAC9E,+EAA+E;QAC/E,8EAA8E;QAC9E,6EAA6E;QAC7E,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,IAAI,6BAA6B,CACrC,4DAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;gBACzF,yFAAyF;gBACzF,4CAA4C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,6BAA6B,CACrC,kCAAkC,OAAO,CAAC,KAAK,CAAC,MAAM,qCAAqC;YACzF,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,sDAAsD;YACzF,iCAAiC,CACpC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,6BAA6B,CACrC,oDAAoD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;gBAClF,yCAAyC,CAC5C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,6BAA6B,CACrC,sCAAsC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6BAA6B;YACvF,kBAAkB,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,6BAA6B,CACrC,iDAAiD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY;YAC1F,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,sBAAsB,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QACnD,MAAM,IAAI,6BAA6B,CACrC,+CAA+C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC5F,YAAY,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,qBAAqB,CACnE,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAChC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,6BAA6B,CACrC,uDAAuD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,iBAAiB;gBACxF,0BAA0B,CAC7B,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,OAAO,CAAC,MAAM,uCAAuC;YAC1F,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB;YACtF,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;8EAO8E;AAE9E;iFACiF;AACjF;;;;;;;;;;+DAU+D;AAC/D,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,yBAAyB,CAChC,cAAkC,EAClC,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,2CAA2C;IAC/E,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,6BAA6B,CACrC,2EAA2E;YACzE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,cAAc,KAAK,QAAQ,CAAC;IAC1C,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3D,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,6BAA6B,CACrC,iDAAiD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc;YAC3F,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8DAA8D;YACzF,qDAAqD,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;kEAIkE;AAClE,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,iFAAiF;AACjF,SAAS,UAAU,CAAC,MAA0B;IAC5C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,OAAwB,EAAE,KAAa;IACpE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,GAAG,KAAK,GAAG,cAAc,IAAI,IAAI,GAAG,KAAK,GAAG,cAAc,EAAE,CAAC;YACnE,MAAM,IAAI,6BAA6B,CACrC,gDAAgD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO;gBACjF,6CAA6C,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,6BAA6B,CACrC,+CAA+C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,OAAO;YACrF,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,6BAA6B,CACrC,yDAAyD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI;YACzF,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,iFAAiF;IACjF,8EAA8E;IAC9E,0EAA0E;IAC1E,+EAA+E;IAC/E,qDAAqD;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/D,MAAM,IAAI,6BAA6B,CACrC,yDAAyD,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI;YACzF,wFAAwF;YACxF,kBAAkB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,EAAmB,EACnB,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,IAAI,EAAE,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,6BAA6B,CACrC,kFAAkF;YAChF,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,6BAA6B,CACrC,iDAAiD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK;YAC5F,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,mDAAmD,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAC9B,EAAmB,EACnB,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,6BAA6B,CACrC,kFAAkF;YAChF,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,6BAA6B,CACrC,4CAA4C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK;YAC5E,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB;YAC1D,wEAAwE,CAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AA0BD;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,OAAwB,EAAE,UAAkB;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;QAC1C,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1C,2EAA2E;YAC3E,yEAAyE;YACzE,2CAA2C;YAC3C,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW;oBAAE,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;gBAAE,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,6CAA6C;IAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,mBAAmB;QAAE,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACzF,gFAAgF;IAChF,yEAAyE;IACzE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,sBAAsB;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,sBAAsB,CAC7B,MAAwB,EACxB,OAAoB,EACpB,QAA4B,EAC5B,eAAuB,EACvB,eAAwB;IAExB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,cAAc,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACnE,cAAc,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,6EAA6E;IAC7E,gFAAgF;IAChF,kFAAkF;IAClF,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,iEAAiE;IACjE,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,IAAI,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,6BAA6B,CACrC,wDAAwD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YACxF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB;YACtE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAAe,EAAE,MAAc;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,6BAA6B,CACrC,6EAA6E;YAC3E,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,6BAA6B,CACrC,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB;YAC5E,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAgCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,gBAAgB,CACvB,OAAsB,EACtB,QAAgB,EAChB,KAAa;IAEb,0EAA0E;IAC1E,8EAA8E;IAC9E,oCAAoC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAClD,MAAM,IAAI,mBAAmB,CAC3B,yBAAyB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,gBAAgB;gBACrF,0CAA0C,QAAQ,sBAAsB;gBACxE,8DAA8D,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,iFAAiF;IACjF,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,mBAAmB,CAC3B,6CAA6C,QAAQ,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;YAC7F,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,wCAAwC;YACpE,8DAA8D,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;mEAEmE;AACnE,SAAS,cAAc,CAAC,KAAiB;IACvC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAuB;IACrD,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,8EAA8E;IAC9E,8BAA8B;IAC9B,kEAAkE;IAClE,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,wDAAwD;IACxD,EAAE;IACF,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,+EAA+E;IAC/E,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC;IAChE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,mBAAmB,CAAC,qDAAqD,CAAC,CAAC;IAEvG,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAErC,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,mFAAmF;IACnF,2EAA2E;IAC3E,0EAA0E;IAC1E,EAAE;IACF,gFAAgF;IAChF,sEAAsE;IACtE,4EAA4E;IAC5E,sEAAsE;IACtE,2EAA2E;IAC3E,8EAA8E;IAC9E,gFAAgF;IAChF,4EAA4E;IAC5E,2EAA2E;IAC3E,8EAA8E;IAC9E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,EAAE,KAAK,CAAC;IAEpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;IACxG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,mBAAmB,CAAC,kCAAkC,CAAC,CAAC;IAC9G,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;IAC1G,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAEjD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,eAAe,EAAE,UAAU,CAAC,KAAK;QACjC,YAAY,EAAE,UAAU,CAAC,EAAE;KAC5B,CAAC;AACJ,CAAC;AA8CD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;GAOG;AACH;;;;;;;;uEAQuE;AACvE,MAAM,4BAA4B,GAAG;IACnC,SAAS;IACT,0BAA0B;IAC1B,4BAA4B;CACpB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,sBAA8B,EAC9B,MAAmC;IAEnC,MAAM,OAAO,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAEvD,8EAA8E;IAC9E,2EAA2E;IAC3E,qEAAqE;IACrE,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,6CAA6C;IAC7C,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,+BAA+B,CAClE,OAAO,EACP,eAAe,EACf,UAAU,EACV,4BAA4B,CAC7B,CAAC;IACF,MAAM,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,UAAU,CAAC,IAAI,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAC3G,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,EAAE,CAAC;QACzF,UAAU,CAAC,IAAI,CACb,2BAA2B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,6BAA6B,CACrC,kDAAkD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC1E,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,+EAA+E;IAC/E,kCAAkC;IAClC,IACE,CAAC,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM;QACnC,CAAC,CAAC,eAAe,KAAK,MAAM,CAAC,QAAQ,EACrC,CAAC;QACD,MAAM,IAAI,6BAA6B,CACrC,8CAA8C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;YACzF,qDAAqD,CACxD,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,wEAAwE;IACxE,8EAA8E;IAC9E,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACxD,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACvD,yBAAyB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACzE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,sCAAsC;IACtC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,kCAAkC;IAClC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5D,sBAAsB,CACpB,MAAM,EACN,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EACzC,CAAC,CAAC,eAAe,EACjB,CAAC,CAAC,wCAAwC,EAC1C,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,kCAAkC,CACxE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;8EAuB8E;AAE9E,iFAAiF;AACjF,MAAM,aAAa,GAAG,4BAA4B,CAAC;AACnD;;;;;iFAKiF;AACjF,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAU,CAAC;AAUjF;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,sBAA8B,EAC9B,MAAiC;IAEjC,MAAM,OAAO,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAEvD,kEAAkE;IAClE,gFAAgF;IAChF,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,iFAAiF;IACjF,8EAA8E;IAC9E,8EAA8E;IAC9E,+BAA+B,CAC7B,OAAO,EACP,aAAa,EACb,aAAa,EACb,0BAA0B,CAC3B,CAAC;IAEF,gEAAgE;IAChE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,4EAA4E;IAC5E,+EAA+E;IAC/E,oCAAoC;IACpC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AA2CD,iFAAiF;AACjF,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS,oBAAoB,CAAC,CAAS,EAAE,CAAS;IAChD,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9B,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,sBAA8B,EAC9B,OAAe,EACf,OAA2B,EAAE;IAE7B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,6BAA6B,CACrC,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,6BAA6B,CAAC,mDAAmD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,6BAA6B,CAAC,sDAAsD,CAAC,CAAC;IAClG,CAAC;IACD,8EAA8E;IAC9E,6DAA6D;IAC7D,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAEvC,mCAAmC;IACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,sEAAsE;YACtE,wEAAwE;YACxE,mEAAmE;YACnE,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,IAAI,6BAA6B,CACrC,sEAAsE;gBACpE,oBAAqB,CAAW,CAAC,OAAO,sBAAsB,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,6BAA6B,CACrC,0EAA0E;gBACxE,uEAAuE;gBACvE,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,gEAAgE;IAC1E,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,oDAAoD;IAC9D,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,oDAAoD;IACpD,MAAM,IAAI,6BAA6B,CACrC,4EAA4E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,kEAAkE;QAClE,6EAA6E;QAC7E,0EAA0E,CAC7E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,sBAA8B,EAC9B,OAAe;IAEf,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnE,OAAO,MAAM,KAAK,OAAO,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAgD8E;AAE9E;6EAC6E;AAC7E,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAYD;;2CAE2C;AAC3C,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAM,EAAE,KAAK;SACd,CAAmB,CAAC;QACrB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;gBAAE,OAAO,GAAG,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;uEAEuE;AACvE,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,8BAA8B;IAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,yBAAmC,EACnC,MAAqC;IAErC,wCAAwC;IACxC,IACE,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC/C,MAAM,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,+BAA+B,CACvC,iFAAiF;YAC/E,iEAAiE,CACpE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,+BAA+B,CACvC,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa;YAC9E,iEAAiE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,KAAK,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,+BAA+B,CACvC,kCAAkC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,sCAAsC;YACxF,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,8CAA8C;YAC5F,iGAAiG,CACpG,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,+BAA+B,CACvC,wEAAwE;YACtE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,+BAA+B,CACvC,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,yBAAyB,EAAE,CAAC;QAC9C,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,+BAA+B,CACvC,uFAAuF;YACrF,wFAAwF;YACxF,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,uEAAuE;IACvE,6EAA6E;IAC7E,gFAAgF;IAChF,6EAA6E;IAC7E,gFAAgF;IAChF,iCAAiC;IACjC,sCAAsC,CAAC,yBAAyB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAiC8E;AAE9E;;;;oDAIoD;AACpD,SAAS,sBAAsB,CAAC,EAAyC;IACvE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,SAAS,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,6EAA6E;IAC7E,uEAAuE;IACvE,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,sCAAsC,CAC7C,yBAAmC,EACnC,MAAqC,EACrC,WAAmB;IAEnB,+EAA+E;IAC/E,MAAM,UAAU,GAAG,CAAC,EAAyC,EAAW,EAAE;QACxE,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3F,CAAC,CAAC;IAEF,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,yBAAyB,EAAE,CAAC;QAC9C,IAAI,EAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,EAAE,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,+BAA+B,CACvC,uEAAuE;gBACrE,wBAAyB,CAAW,CAAC,OAAO,uBAAuB;gBACnE,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,+BAA+B,CACvC,6EAA6E;gBAC3E,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC;gBACrB,iDAAiD;gBACjD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,IAAI,+BAA+B,CACvC,4CAA4C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;wBAC5E,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB;wBACtE,kEAAkE,CACrE,CAAC;gBACJ,CAAC;gBACD,uBAAuB;gBACvB,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,+BAA+B,CACvC,8CAA8C,CAAC,CAAC,SAAS,kBAAkB;wBACzE,8EAA8E,CACjF,CAAC;gBACJ,CAAC;gBACD,sEAAsE;gBACtE,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,+BAA+B,CACvC,wCAAwC,CAAC,CAAC,WAAW,CAAC,MAAM,gBAAgB;wBAC1E,sEAAsE;wBACtE,iEAAiE,CACpE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,+BAA+B,CACvC,0EAA0E;wBACxE,uEAAuE;wBACvE,6DAA6D,CAChE,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACtC,0EAA0E;gBAC1E,wEAAwE;gBACxE,yDAAyD;gBACzD,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChD,MAAM,IAAI,+BAA+B,CACvC,mDAAmD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;wBAC/E,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK;wBAChF,2EAA2E,CAC9E,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,+BAA+B,CACvC,2EAA2E;wBACzE,wEAAwE;wBACxE,sCAAsC,CACzC,CAAC;gBACJ,CAAC;gBACD,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBACrC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,IAAI,+BAA+B,CACvC,6CAA6C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;wBAC7E,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACxE,CAAC;gBACJ,CAAC;gBACD,yEAAyE;gBACzE,0EAA0E;gBAC1E,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,+BAA+B,CACvC,+CAA+C,CAAC,CAAC,SAAS,oBAAoB;wBAC5E,sEAAsE,CACzE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,+BAA+B,CACvC,4EAA4E;wBAC1E,sDAAsD,CACzD,CAAC;gBACJ,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,uEAAuE;gBACvE,uEAAuE;gBACvE,MAAM,IAAI,+BAA+B,CACvC,2EAA2E;oBACzE,IAAI,OAAO,CAAC,SAAS,iDAAiD;oBACtE,oEAAoE;oBACpE,qEAAqE,CACxE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,uEAAuE;IACvE,gFAAgF;IAChF,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,gFAAgF;IAChF,8EAA8E;IAC9E,wDAAwD;IACxD,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7D,MAAM,IAAI,+BAA+B,CACvC,sEAAsE;YACpE,8EAA8E;YAC9E,iFAAiF;YACjF,iDAAiD,CACpD,CAAC;IACJ,CAAC;AACH,CAAC;AAGD,qFAAqF;AACrF,MAAM,uBAAuB,GAAG,uCAAuC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,sBAA8B,EAC9B,KAAa;IAEb,MAAM,OAAO,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,6BAA6B,CACrC,qDAAqD,SAAS,CAAC,MAAM,QAAQ;YAC3E,iFAAiF;YACjF,sBAAsB,CACzB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACpD,IAAI,UAAU,KAAK,uBAAuB,EAAE,CAAC;QAC3C,MAAM,IAAI,6BAA6B,CACrC,oDAAoD,uBAAuB,GAAG;YAC5E,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC7D,MAAM,IAAI,6BAA6B,CACrC,4CAA4C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU;YACjF,YAAY,KAAK,sBAAsB,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"verify-prepared.js","sourceRoot":"","sources":["../src/verify-prepared.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ftptech/canton-agent-wallet",
3
3
  "private": false,
4
- "version": "0.7.1",
4
+ "version": "0.7.3",
5
5
  "description": "Self-custody Canton wallet + x402 autopay for AI agents. One CLI: create, pay, balance, withdraw, export, import. Backs the canton-x402-agent skill.",
6
6
  "license": "Apache-2.0",
7
7
  "author": "FTP team",
@@ -19,8 +19,8 @@
19
19
  "@canton-network/core-tx-visualizer": "~1.4.0",
20
20
  "@canton-network/core-ledger-proto": "~1.4.0",
21
21
  "undici": "^7.1.0",
22
- "@ftptech/x402-canton-ledger": "^0.1.1",
23
- "@ftptech/x402-canton-client": "^0.6.1"
22
+ "@ftptech/x402-canton-client": "^0.6.1",
23
+ "@ftptech/x402-canton-ledger": "^0.1.1"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public"
@@ -1,88 +0,0 @@
1
- /**
2
- * HOSTED-party merchant onboarding for x402-direct ("Design B").
3
- *
4
- * HOSTED vs EXTERNAL — why this is a separate path
5
- * ================================================
6
- * The agent-wallet `merchant-onboard` command (`createMerchantConsent` in tx.ts)
7
- * is EXTERNAL-PARTY only: the merchant party is an Ed25519 self-custody wallet,
8
- * so it onboards via the relay's interactive prepare -> sign-the-hash-locally ->
9
- * execute flow, gated by verify-before-sign (the relay is untrusted, so the agent
10
- * structurally re-checks the relay-prepared bytes before signing with its key).
11
- *
12
- * A HOSTED-party merchant is different: its party lives on its OWN Canton node
13
- * (a validator it operates), NOT in an external Ed25519 wallet. It therefore has
14
- * NO Ed25519 key, NO relay, NO wallet.json — and needs none of them. It authorizes
15
- * the `MerchantConsent` create directly on its own participant's JSON Ledger API
16
- * with a plain `CreateCommand` (`actAs: [merchant]`); the merchant's node supplies
17
- * the signatory authority. The facilitator is only an `observer` of the consent,
18
- * so it sees it over the synchronizer and the existing facilitator-minted path
19
- * (MerchantConsent_Accept) settles unchanged. No protocol change, no Ed25519.
20
- *
21
- * NO verify-before-sign is needed here (and there is nothing to verify against):
22
- * the merchant's OWN node builds and submits exactly what this function asks it to.
23
- * The create shape is fixed and value-moving-free by construction — a single
24
- * `MerchantConsent {merchant, facilitator}` create that captures the merchant's
25
- * one-time authorization and MOVES NO FUNDS. There is no untrusted relay in the
26
- * loop to substitute a facilitator or swap in a drain, so the structural
27
- * verify-before-sign backstop the external path applies has no role.
28
- *
29
- * PREREQ: the `x402-direct` DAR (x402-direct-0.1.0, package-id
30
- * f819db3288986a7f6c3157359ed02040e0a6080ceb6890309ecbb71eeeb93780) must be
31
- * uploaded + vetted on the merchant's participant so `#x402-direct:...` resolves.
32
- *
33
- * Idempotent (the consent is once-total): if a `MerchantConsent` for this
34
- * (merchant, facilitator) already exists, this returns `{ created: false }` and
35
- * submits nothing.
36
- *
37
- * Uses the global `fetch` (Node 18+); imports no Canton SDK — it is the same
38
- * dependency-free OIDC + JSON Ledger API v2 pattern the facilitator's funder
39
- * (e2e/fund.mjs) uses.
40
- */
41
- /** OIDC client-credentials config for minting the JSON Ledger API bearer token. */
42
- export interface HostedOidcConfig {
43
- /** OIDC token endpoint (e.g. `https://<issuer>/oauth/token`). */
44
- tokenEndpoint: string;
45
- /** OIDC client id (m2m client authorized for the merchant's participant). */
46
- clientId: string;
47
- /** OIDC client secret. */
48
- clientSecret: string;
49
- /** Ledger API audience the token is minted for. */
50
- audience: string;
51
- /** Optional OIDC scope. */
52
- scope?: string;
53
- }
54
- /** Inputs for {@link createMerchantConsentHosted}. */
55
- export interface CreateMerchantConsentHostedOptions {
56
- /** The merchant's participant JSON Ledger API base URL (no trailing path). */
57
- participantUrl: string;
58
- /** The synchronizer the consent is created on. */
59
- synchronizerId: string;
60
- /** The Ledger API user id to submit as (the merchant's participant m2m user). */
61
- userId: string;
62
- /** The merchant party id (signatory of the consent; also the `actAs` party). */
63
- merchant: string;
64
- /** The facilitator party id (observer of the consent). */
65
- facilitator: string;
66
- /** OIDC client-credentials config (token mint). */
67
- oidc: HostedOidcConfig;
68
- }
69
- /** Result of {@link createMerchantConsentHosted}. */
70
- export interface CreateMerchantConsentHostedResult {
71
- /** `true` if a new MerchantConsent was created; `false` if one already existed. */
72
- created: boolean;
73
- /** The MerchantConsent contract id, when resolvable (the existing one on a
74
- * no-op, or the freshly created one when the transaction's created event is
75
- * available). May be undefined on a fresh create if the event was not returned. */
76
- contractId?: string;
77
- }
78
- /**
79
- * Onboard a HOSTED-party merchant for x402-direct by creating its once-total
80
- * `MerchantConsent {merchant, facilitator}` on its own participant's JSON Ledger
81
- * API. Idempotent: returns `{ created: false, contractId }` if the consent
82
- * already exists, else creates it and returns `{ created: true, contractId? }`.
83
- *
84
- * See the file-level doc for the HOSTED-vs-EXTERNAL distinction and why no
85
- * verify-before-sign is required.
86
- */
87
- export declare function createMerchantConsentHosted(opts: CreateMerchantConsentHostedOptions): Promise<CreateMerchantConsentHostedResult>;
88
- //# sourceMappingURL=hosted-onboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hosted-onboard.d.ts","sourceRoot":"","sources":["../src/hosted-onboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAQH,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,kCAAkC;IACjD,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,iCAAiC;IAChD,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB;;wFAEoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0BD;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,kCAAkC,GACvC,OAAO,CAAC,iCAAiC,CAAC,CA8E5C"}
@@ -1,216 +0,0 @@
1
- /**
2
- * HOSTED-party merchant onboarding for x402-direct ("Design B").
3
- *
4
- * HOSTED vs EXTERNAL — why this is a separate path
5
- * ================================================
6
- * The agent-wallet `merchant-onboard` command (`createMerchantConsent` in tx.ts)
7
- * is EXTERNAL-PARTY only: the merchant party is an Ed25519 self-custody wallet,
8
- * so it onboards via the relay's interactive prepare -> sign-the-hash-locally ->
9
- * execute flow, gated by verify-before-sign (the relay is untrusted, so the agent
10
- * structurally re-checks the relay-prepared bytes before signing with its key).
11
- *
12
- * A HOSTED-party merchant is different: its party lives on its OWN Canton node
13
- * (a validator it operates), NOT in an external Ed25519 wallet. It therefore has
14
- * NO Ed25519 key, NO relay, NO wallet.json — and needs none of them. It authorizes
15
- * the `MerchantConsent` create directly on its own participant's JSON Ledger API
16
- * with a plain `CreateCommand` (`actAs: [merchant]`); the merchant's node supplies
17
- * the signatory authority. The facilitator is only an `observer` of the consent,
18
- * so it sees it over the synchronizer and the existing facilitator-minted path
19
- * (MerchantConsent_Accept) settles unchanged. No protocol change, no Ed25519.
20
- *
21
- * NO verify-before-sign is needed here (and there is nothing to verify against):
22
- * the merchant's OWN node builds and submits exactly what this function asks it to.
23
- * The create shape is fixed and value-moving-free by construction — a single
24
- * `MerchantConsent {merchant, facilitator}` create that captures the merchant's
25
- * one-time authorization and MOVES NO FUNDS. There is no untrusted relay in the
26
- * loop to substitute a facilitator or swap in a drain, so the structural
27
- * verify-before-sign backstop the external path applies has no role.
28
- *
29
- * PREREQ: the `x402-direct` DAR (x402-direct-0.1.0, package-id
30
- * f819db3288986a7f6c3157359ed02040e0a6080ceb6890309ecbb71eeeb93780) must be
31
- * uploaded + vetted on the merchant's participant so `#x402-direct:...` resolves.
32
- *
33
- * Idempotent (the consent is once-total): if a `MerchantConsent` for this
34
- * (merchant, facilitator) already exists, this returns `{ created: false }` and
35
- * submits nothing.
36
- *
37
- * Uses the global `fetch` (Node 18+); imports no Canton SDK — it is the same
38
- * dependency-free OIDC + JSON Ledger API v2 pattern the facilitator's funder
39
- * (e2e/fund.mjs) uses.
40
- */
41
- /** The x402-direct "Design B" standing-consent template the hosted merchant
42
- * creates. The `#`-prefixed package NAME (not the hex package-id) lets the
43
- * participant resolve its vetted version at create time — the same convention
44
- * tx.ts's external-party path uses. */
45
- const MERCHANT_CONSENT_TEMPLATE_ID = "#x402-direct:X402Direct:MerchantConsent";
46
- /** Mint a JSON Ledger API bearer token via the OIDC client-credentials grant. */
47
- async function mintToken(oidc) {
48
- const body = new URLSearchParams({
49
- grant_type: "client_credentials",
50
- client_id: oidc.clientId,
51
- client_secret: oidc.clientSecret,
52
- audience: oidc.audience,
53
- });
54
- if (oidc.scope)
55
- body.set("scope", oidc.scope);
56
- const r = await fetch(oidc.tokenEndpoint, {
57
- method: "POST",
58
- headers: { "content-type": "application/x-www-form-urlencoded" },
59
- body: body.toString(),
60
- });
61
- if (r.status !== 200) {
62
- throw new Error(`OIDC token mint failed: HTTP ${r.status}`);
63
- }
64
- const j = (await r.json());
65
- if (!j.access_token) {
66
- throw new Error("OIDC token mint: no access_token in response");
67
- }
68
- return j.access_token;
69
- }
70
- /**
71
- * Onboard a HOSTED-party merchant for x402-direct by creating its once-total
72
- * `MerchantConsent {merchant, facilitator}` on its own participant's JSON Ledger
73
- * API. Idempotent: returns `{ created: false, contractId }` if the consent
74
- * already exists, else creates it and returns `{ created: true, contractId? }`.
75
- *
76
- * See the file-level doc for the HOSTED-vs-EXTERNAL distinction and why no
77
- * verify-before-sign is required.
78
- */
79
- export async function createMerchantConsentHosted(opts) {
80
- const { participantUrl, synchronizerId, userId, merchant, facilitator, oidc } = opts;
81
- const token = await mintToken(oidc);
82
- // Authenticated POST to the merchant's JSON Ledger API v2.
83
- const ledgerPost = async (path, payload) => {
84
- const r = await fetch(participantUrl + path, {
85
- method: "POST",
86
- headers: {
87
- Authorization: `Bearer ${token}`,
88
- "content-type": "application/json",
89
- },
90
- body: JSON.stringify(payload),
91
- });
92
- const text = await r.text();
93
- let json;
94
- try {
95
- json = JSON.parse(text);
96
- }
97
- catch {
98
- json = undefined;
99
- }
100
- return { status: r.status, json, text };
101
- };
102
- const ledgerGet = async (path) => {
103
- const r = await fetch(participantUrl + path, {
104
- headers: { Authorization: `Bearer ${token}` },
105
- });
106
- return r.json();
107
- };
108
- // Once-total guard: is there already a MerchantConsent for this merchant naming
109
- // this facilitator? A TemplateFilter (not a wildcard) keeps the ACS query small
110
- // — a busy validator-operator party can hold many contracts.
111
- const existing = await existingConsentCid(ledgerPost, ledgerGet, merchant, facilitator);
112
- if (existing) {
113
- return { created: false, contractId: existing };
114
- }
115
- // No existing consent — create it. The merchant's node supplies the signatory
116
- // authority via actAs:[merchant]; the create shape is fixed and moves no funds.
117
- const commandId = `merchant-onboard-hosted-${Date.now()}`;
118
- const send = await ledgerPost("/v2/commands/submit-and-wait-for-transaction", {
119
- commands: {
120
- commandId,
121
- userId,
122
- actAs: [merchant],
123
- synchronizerId,
124
- disclosedContracts: [],
125
- commands: [
126
- {
127
- CreateCommand: {
128
- templateId: MERCHANT_CONSENT_TEMPLATE_ID,
129
- // Daml declaration order: [0] merchant, [1] facilitator.
130
- createArguments: { merchant, facilitator },
131
- },
132
- },
133
- ],
134
- },
135
- });
136
- if (send.status !== 200) {
137
- throw new Error(`merchant consent create failed: HTTP ${send.status} ${send.text.slice(0, 400)}`);
138
- }
139
- // contractId is best-effort: spread it only when resolvable so the result
140
- // conforms to exactOptionalPropertyTypes (no explicit `contractId: undefined`).
141
- const contractId = createdConsentCid(send.json);
142
- return { created: true, ...(contractId ? { contractId } : {}) };
143
- }
144
- /**
145
- * Scan the submit-and-wait-for-transaction response for the created
146
- * MerchantConsent's contract id. Best-effort — the contract id is informational
147
- * (the consent is once-total and the facilitator re-resolves it), so an
148
- * unrecognized event shape yields `undefined` rather than an error.
149
- */
150
- function createdConsentCid(transactionResponse) {
151
- if (typeof transactionResponse !== "object" || transactionResponse === null) {
152
- return undefined;
153
- }
154
- const tx = transactionResponse
155
- .transaction;
156
- const events = tx?.events;
157
- if (!Array.isArray(events))
158
- return undefined;
159
- for (const ev of events) {
160
- const created = ev
161
- ?.CreatedEvent;
162
- if (created?.contractId)
163
- return created.contractId;
164
- }
165
- return undefined;
166
- }
167
- /**
168
- * Query the merchant's ACS (scoped by a TemplateFilter to the MerchantConsent
169
- * template, active at ledger-end) for an existing consent naming this
170
- * facilitator. Returns its contract id, or `null` if none exists.
171
- */
172
- async function existingConsentCid(ledgerPost, ledgerGet, merchant, facilitator) {
173
- const end = (await ledgerGet("/v2/state/ledger-end"));
174
- const acs = await ledgerPost("/v2/state/active-contracts", {
175
- filter: {
176
- filtersByParty: {
177
- [merchant]: {
178
- cumulative: [
179
- {
180
- identifierFilter: {
181
- TemplateFilter: {
182
- value: {
183
- templateId: MERCHANT_CONSENT_TEMPLATE_ID,
184
- includeCreatedEventBlob: false,
185
- },
186
- },
187
- },
188
- },
189
- ],
190
- },
191
- },
192
- },
193
- verbose: false,
194
- activeAtOffset: end.offset,
195
- });
196
- const list = Array.isArray(acs.json)
197
- ? acs.json
198
- : (acs.json?.contractEntries ?? []);
199
- for (const entry of list) {
200
- const created = entry?.contractEntry?.JsActiveContract?.createdEvent;
201
- // Must match BOTH merchant AND facilitator. The ACS query is keyed on the
202
- // merchant party, but when that party is itself the facilitator (or any
203
- // observer of other consents), the query returns OTHER merchants'
204
- // MerchantConsents too — they all carry the same `facilitator`. Matching only
205
- // `facilitator` then FALSE-POSITIVES "already onboarded" and skips creating
206
- // this merchant's own consent, so the facilitator's findMerchantConsent (which
207
- // correctly pins `merchant`) later reports "no MerchantConsent". Pin both.
208
- if (created &&
209
- created.createArgument?.merchant === merchant &&
210
- created.createArgument?.facilitator === facilitator) {
211
- return created.contractId ?? null;
212
- }
213
- }
214
- return null;
215
- }
216
- //# sourceMappingURL=hosted-onboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hosted-onboard.js","sourceRoot":"","sources":["../src/hosted-onboard.ts"],"names":[],"mappings":"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"}