@intent-engine/cli 0.1.41 → 0.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/src/accounts.d.ts +4 -2
  2. package/dist/src/accounts.js +5 -4
  3. package/dist/src/accounts.js.map +1 -1
  4. package/dist/src/add-to.js +2 -2
  5. package/dist/src/add-to.js.map +1 -1
  6. package/dist/src/admin-commands.d.ts +22 -1
  7. package/dist/src/admin-commands.js +44 -12
  8. package/dist/src/admin-commands.js.map +1 -1
  9. package/dist/src/agent/actions.d.ts +1 -0
  10. package/dist/src/agent/actions.js +15 -1
  11. package/dist/src/agent/actions.js.map +1 -1
  12. package/dist/src/agent/budget.d.ts +5 -5
  13. package/dist/src/agent/budget.js +26 -6
  14. package/dist/src/agent/budget.js.map +1 -1
  15. package/dist/src/agent/claims.d.ts +2 -1
  16. package/dist/src/agent/claims.js +1 -1
  17. package/dist/src/agent/claims.js.map +1 -1
  18. package/dist/src/agent/create.d.ts +16 -7
  19. package/dist/src/agent/create.js +25 -3
  20. package/dist/src/agent/create.js.map +1 -1
  21. package/dist/src/agent/jobs.js +11 -4
  22. package/dist/src/agent/jobs.js.map +1 -1
  23. package/dist/src/agent/mandate-agent.js +3 -2
  24. package/dist/src/agent/mandate-agent.js.map +1 -1
  25. package/dist/src/agent/mandate-revoke.js +1 -1
  26. package/dist/src/agent/mandate-revoke.js.map +1 -1
  27. package/dist/src/agent/owner.js +4 -2
  28. package/dist/src/agent/owner.js.map +1 -1
  29. package/dist/src/agent/prepare.d.ts +1 -1
  30. package/dist/src/agent/prepare.js +9 -2
  31. package/dist/src/agent/prepare.js.map +1 -1
  32. package/dist/src/agent/problems.d.ts +22 -0
  33. package/dist/src/agent/problems.js +33 -5
  34. package/dist/src/agent/problems.js.map +1 -1
  35. package/dist/src/agent/profile.d.ts +1 -0
  36. package/dist/src/agent/profile.js +30 -5
  37. package/dist/src/agent/profile.js.map +1 -1
  38. package/dist/src/agent/read.js +3 -4
  39. package/dist/src/agent/read.js.map +1 -1
  40. package/dist/src/agent/reputation.js +16 -7
  41. package/dist/src/agent/reputation.js.map +1 -1
  42. package/dist/src/agent/sales.js +17 -23
  43. package/dist/src/agent/sales.js.map +1 -1
  44. package/dist/src/agent/settle.js +1 -0
  45. package/dist/src/agent/settle.js.map +1 -1
  46. package/dist/src/agent/signed-prepare.js +3 -2
  47. package/dist/src/agent/signed-prepare.js.map +1 -1
  48. package/dist/src/agent/signed-relay.d.ts +1 -1
  49. package/dist/src/agent/signed-relay.js +2 -1
  50. package/dist/src/agent/signed-relay.js.map +1 -1
  51. package/dist/src/agent/signed-submit.js +7 -5
  52. package/dist/src/agent/signed-submit.js.map +1 -1
  53. package/dist/src/agent/signed-terms.d.ts +1 -5
  54. package/dist/src/agent/spec.js +16 -4
  55. package/dist/src/agent/spec.js.map +1 -1
  56. package/dist/src/agent/wallet/account.js +2 -1
  57. package/dist/src/agent/wallet/account.js.map +1 -1
  58. package/dist/src/agent/wallet/attest.d.ts +2 -0
  59. package/dist/src/agent/wallet/attest.js +46 -24
  60. package/dist/src/agent/wallet/attest.js.map +1 -1
  61. package/dist/src/agent/wallet/committee.js +29 -17
  62. package/dist/src/agent/wallet/committee.js.map +1 -1
  63. package/dist/src/agent/wallet/delivery.d.ts +4 -1
  64. package/dist/src/agent/wallet/delivery.js +80 -23
  65. package/dist/src/agent/wallet/delivery.js.map +1 -1
  66. package/dist/src/agent/wallet/escrow.js +9 -4
  67. package/dist/src/agent/wallet/escrow.js.map +1 -1
  68. package/dist/src/agent/wallet/fills.js +4 -3
  69. package/dist/src/agent/wallet/fills.js.map +1 -1
  70. package/dist/src/agent/wallet/guard.d.ts +32 -0
  71. package/dist/src/agent/wallet/guard.js +131 -9
  72. package/dist/src/agent/wallet/guard.js.map +1 -1
  73. package/dist/src/agent/wallet/history.js +2 -2
  74. package/dist/src/agent/wallet/history.js.map +1 -1
  75. package/dist/src/agent/wallet/offer.d.ts +18 -0
  76. package/dist/src/agent/wallet/offer.js +2 -1
  77. package/dist/src/agent/wallet/offer.js.map +1 -1
  78. package/dist/src/agent/wallet/openings.d.ts +37 -0
  79. package/dist/src/agent/wallet/openings.js +73 -0
  80. package/dist/src/agent/wallet/openings.js.map +1 -0
  81. package/dist/src/agent/wallet/receipt.d.ts +6 -0
  82. package/dist/src/agent/wallet/receipt.js +21 -3
  83. package/dist/src/agent/wallet/receipt.js.map +1 -1
  84. package/dist/src/agent/wallet/record.d.ts +3 -2
  85. package/dist/src/agent/wallet/record.js +16 -10
  86. package/dist/src/agent/wallet/record.js.map +1 -1
  87. package/dist/src/agent/wallet/split.d.ts +1 -0
  88. package/dist/src/agent/wallet/split.js +84 -57
  89. package/dist/src/agent/wallet/split.js.map +1 -1
  90. package/dist/src/agent/wallet/trade.js +2 -1
  91. package/dist/src/agent/wallet/trade.js.map +1 -1
  92. package/dist/src/agent/wallet/unwrap.js +2 -1
  93. package/dist/src/agent/wallet/unwrap.js.map +1 -1
  94. package/dist/src/agent/work-claims.js +16 -6
  95. package/dist/src/agent/work-claims.js.map +1 -1
  96. package/dist/src/arg-admin.d.ts +1 -1
  97. package/dist/src/arg-admin.js +4 -0
  98. package/dist/src/arg-admin.js.map +1 -1
  99. package/dist/src/arg-options.d.ts +70 -2
  100. package/dist/src/arg-options.js +39 -10
  101. package/dist/src/arg-options.js.map +1 -1
  102. package/dist/src/arg-solve.d.ts +6 -0
  103. package/dist/src/arg-solve.js +46 -1
  104. package/dist/src/arg-solve.js.map +1 -1
  105. package/dist/src/arg-usage.d.ts +2 -2
  106. package/dist/src/arg-usage.js +14 -10
  107. package/dist/src/arg-usage.js.map +1 -1
  108. package/dist/src/arg-values.d.ts +20 -1
  109. package/dist/src/arg-values.js +72 -2
  110. package/dist/src/arg-values.js.map +1 -1
  111. package/dist/src/args.d.ts +4 -1
  112. package/dist/src/args.js +39 -9
  113. package/dist/src/args.js.map +1 -1
  114. package/dist/src/claim-commands.d.ts +6 -2
  115. package/dist/src/claim-commands.js +115 -6
  116. package/dist/src/claim-commands.js.map +1 -1
  117. package/dist/src/clusters.d.ts +1 -0
  118. package/dist/src/clusters.js +1 -0
  119. package/dist/src/clusters.js.map +1 -1
  120. package/dist/src/command-types.d.ts +65 -1
  121. package/dist/src/commands.js +40 -8
  122. package/dist/src/commands.js.map +1 -1
  123. package/dist/src/committee-commands.d.ts +13 -2
  124. package/dist/src/committee-commands.js +58 -11
  125. package/dist/src/committee-commands.js.map +1 -1
  126. package/dist/src/crank.d.ts +3 -3
  127. package/dist/src/crank.js +11 -9
  128. package/dist/src/crank.js.map +1 -1
  129. package/dist/src/float-commands.d.ts +17 -0
  130. package/dist/src/float-commands.js +94 -0
  131. package/dist/src/float-commands.js.map +1 -0
  132. package/dist/src/flow-commands.js +2 -2
  133. package/dist/src/flow-commands.js.map +1 -1
  134. package/dist/src/flows.d.ts +2 -2
  135. package/dist/src/flows.js +8 -2
  136. package/dist/src/flows.js.map +1 -1
  137. package/dist/src/job-args.js +16 -3
  138. package/dist/src/job-args.js.map +1 -1
  139. package/dist/src/job-commands.js +40 -10
  140. package/dist/src/job-commands.js.map +1 -1
  141. package/dist/src/job-filters.d.ts +15 -3
  142. package/dist/src/job-filters.js +31 -6
  143. package/dist/src/job-filters.js.map +1 -1
  144. package/dist/src/judge-digest.d.ts +7 -0
  145. package/dist/src/judge-digest.js +27 -0
  146. package/dist/src/judge-digest.js.map +1 -0
  147. package/dist/src/judge-watch.js +16 -6
  148. package/dist/src/judge-watch.js.map +1 -1
  149. package/dist/src/judge.d.ts +18 -1
  150. package/dist/src/judge.js +87 -17
  151. package/dist/src/judge.js.map +1 -1
  152. package/dist/src/ledger-keys.d.ts +4 -1
  153. package/dist/src/ledger-keys.js +21 -5
  154. package/dist/src/ledger-keys.js.map +1 -1
  155. package/dist/src/legacy-commands.d.ts +8 -0
  156. package/dist/src/legacy-commands.js +94 -0
  157. package/dist/src/legacy-commands.js.map +1 -0
  158. package/dist/src/main.d.ts +3 -0
  159. package/dist/src/main.js +5 -0
  160. package/dist/src/main.js.map +1 -1
  161. package/dist/src/migrate-commands.d.ts +10 -0
  162. package/dist/src/migrate-commands.js +127 -0
  163. package/dist/src/migrate-commands.js.map +1 -0
  164. package/dist/src/monitor.d.ts +5 -1
  165. package/dist/src/monitor.js +31 -4
  166. package/dist/src/monitor.js.map +1 -1
  167. package/dist/src/release-simulation.d.ts +3 -2
  168. package/dist/src/release-simulation.js +1 -0
  169. package/dist/src/release-simulation.js.map +1 -1
  170. package/dist/src/sealed-commands.d.ts +6 -0
  171. package/dist/src/sealed-commands.js +19 -1
  172. package/dist/src/sealed-commands.js.map +1 -1
  173. package/dist/src/solve-commands.d.ts +3 -1
  174. package/dist/src/solve-commands.js +31 -4
  175. package/dist/src/solve-commands.js.map +1 -1
  176. package/dist/src/trust-args.d.ts +5 -3
  177. package/dist/src/trust-args.js +48 -9
  178. package/dist/src/trust-args.js.map +1 -1
  179. package/dist/src/version.d.ts +1 -1
  180. package/dist/src/version.js +1 -1
  181. package/dist/src/wallet.d.ts +8 -2
  182. package/dist/src/wallet.js +44 -7
  183. package/dist/src/wallet.js.map +1 -1
  184. package/package.json +5 -4
@@ -8,9 +8,10 @@ import { AgentRefusal } from "../problems.js";
8
8
  import { InvalidInput, account, amount, flag, integer, list, object, optional, text } from "../schema.js";
9
9
  import { preparedView } from "../shapes.js";
10
10
  import { prepare } from "../prepare.js";
11
- import { PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, signerOf, sent, sha256Of } from "./guard.js";
11
+ import { deviceOutput, PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
12
+ import { openingOutput, openingPayerOf, openingsFor, sendOpenings, skippedOf } from "./openings.js";
12
13
  import { ATTEST_PAGES, DELIVERED_NEEDED, HISTORY_TOO_LONG, MAX_ATTEST_PAGES, MAX_PAGES_INPUT, notEarliest, confirmedRelease } from "./delivery.js";
13
- import { RELEASE_CHANGED } from "./attest.js";
14
+ import { DEVICE_DIGEST, RELEASE_CHANGED } from "./attest.js";
14
15
  export const VOTE_CHANGED = "this vote differs from its preview: the escrow, payee, result or delivered work changed, or no approval was given; preview it again and show the user";
15
16
  export const NOT_A_MEMBER = "this server's wallet is not a member of the committee this escrow names, so it has no vote";
16
17
  const hex = (bytes) => getBase16Decoder().decode(bytes).toLowerCase();
@@ -22,7 +23,7 @@ const ballotInput = {
22
23
  delivered_sha256: text("the sha256, as 64 hex digits, of the work the release pays for; its earliest announcer must be pay_to"),
23
24
  max_pages: optional(integer(1, MAX_ATTEST_PAGES, MAX_PAGES_INPUT)),
24
25
  };
25
- async function ballotOf(ctx, input) {
26
+ async function ballotOf(ctx, input, judge, device) {
26
27
  const client = createClient({ url: ctx.url ?? "", transport: ctx.transport });
27
28
  const target = { owner: input.owner, nonce: input.nonce, payTo: input.pay_to, result: input.result };
28
29
  let ballot;
@@ -36,18 +37,21 @@ async function ballotOf(ctx, input) {
36
37
  throw error;
37
38
  }
38
39
  const delivered = sha256Of(input.delivered_sha256, "delivered_sha256");
39
- const record = await deliveryRecord(ctx.transport, ballot.committee.address, ballot.intent, input.max_pages ?? ATTEST_PAGES);
40
+ const keypair = await walletOpeners(ctx);
41
+ const record = await deliveryRecord(ctx.transport, ballot.committee.address, ballot.intent, input.max_pages ?? ATTEST_PAGES, keypair);
40
42
  if (!record.complete) {
41
43
  throw new AgentRefusal("HistoryTooLong", HISTORY_TOO_LONG);
42
44
  }
43
45
  const first = firstDelivery(record.deliveries, delivered);
46
+ const passed = await skippedOf(ctx, { judge, intent: ballot.intent, device, recipients: ballot.committee.members, record, first, openers: keypair });
44
47
  if (first !== null && first.worker !== input.pay_to) {
45
48
  throw new AgentRefusal("NotEarliestAnnouncer", notEarliest(first.worker, delivered));
46
49
  }
47
- await confirmedRelease(ctx, { intent: ballot.intent, attestor: ballot.committee.address, sha256: delivered, pages: input.max_pages ?? ATTEST_PAGES, payees: [input.pay_to] });
48
- return { client, target, ballot, delivered };
50
+ const confirmed = { intent: ballot.intent, attestor: ballot.committee.address, sha256: delivered, pages: input.max_pages ?? ATTEST_PAGES, payees: [input.pay_to], keypair };
51
+ await confirmedRelease(ctx, confirmed);
52
+ return { client, target, ballot, delivered, salt: first?.salt, openings: openingsFor(record, first), passed };
49
53
  }
50
- const ballotApproval = (ballot, delivered) => createHash("sha256").update(ballot.digest).update(releaseMemo(delivered)).digest("hex").slice(0, 16);
54
+ const ballotApproval = (ballot, delivered, salt) => createHash("sha256").update(ballot.digest).update(releaseMemo(delivered, salt)).digest("hex").slice(0, 16);
51
55
  const ballotLines = (ballot, input, delivered) => [
52
56
  `Releases: escrow ${ballot.intent} to ${input.pay_to} with result ${input.result}`,
53
57
  `Pays for: the work with sha256 ${delivered}`,
@@ -67,26 +71,28 @@ export const walletCommitteeVote = define({
67
71
  intent: account(),
68
72
  committee: account(),
69
73
  approval: text(),
74
+ digest: text(DEVICE_DIGEST),
70
75
  summary: list(text(), 8),
71
76
  signed: flag(),
72
77
  vote: optional(object({ member: account(), signature: text("the member's ed25519 signature as 128 hex digits") })),
73
78
  next: optional(text()),
79
+ skipped: openingOutput.skipped,
74
80
  }),
75
81
  run: async (ctx, input) => {
76
82
  const signer = await signerOf(ctx);
77
- const { ballot, delivered } = await ballotOf(ctx, input);
83
+ const { ballot, delivered, salt, passed } = await ballotOf(ctx, input, signer.address, signer.device !== undefined);
78
84
  if (!ballot.committee.members.includes(signer.address)) {
79
85
  throw new AgentRefusal("Unauthorized", NOT_A_MEMBER);
80
86
  }
81
- const approval = ballotApproval(ballot, delivered);
82
- const shown = { intent: ballot.intent, committee: ballot.committee.address, approval, summary: ballotLines(ballot, input, delivered) };
87
+ const approval = ballotApproval(ballot, delivered, salt);
88
+ const shown = { intent: ballot.intent, committee: ballot.committee.address, approval, digest: hex(ballot.digest), summary: ballotLines(ballot, input, delivered), ...passed };
83
89
  if (input.send !== true) {
84
90
  return { ...shown, signed: false, next: `call again with send: true and this approval to sign the vote, then pass it to ${tool("wallet_committee_release")}` };
85
91
  }
86
92
  if (input.approval !== approval) {
87
93
  throw new AgentRefusal("ReleaseChanged", VOTE_CHANGED);
88
94
  }
89
- const signature = await signer.signBytes(committeeEnvelope(ballot.digest));
95
+ const signature = await signer.signBytes(committeeEnvelope(ballot.digest, ballot.committee.members));
90
96
  return { ...shown, signed: true, vote: { member: signer.address, signature: hex(signature) } };
91
97
  },
92
98
  });
@@ -106,6 +112,8 @@ export const walletCommitteeRelease = define({
106
112
  committee: account(),
107
113
  signers: list(account(), 8),
108
114
  approval: text(),
115
+ ...deviceOutput,
116
+ ...openingOutput,
109
117
  summary: list(text(), 8),
110
118
  sent: flag(),
111
119
  signature: optional(text()),
@@ -113,7 +121,7 @@ export const walletCommitteeRelease = define({
113
121
  }),
114
122
  run: async (ctx, input, call) => {
115
123
  const signer = await signerOf(ctx);
116
- const { client, target, ballot, delivered } = await ballotOf(ctx, input);
124
+ const { client, target, ballot, delivered, salt, openings, passed } = await ballotOf(ctx, input, signer.address, false);
117
125
  const votes = input.votes.map((vote, i) => {
118
126
  if (!/^[0-9a-fA-F]{128}$/.test(vote.signature)) {
119
127
  throw new InvalidInput([{ path: `votes.${i}.signature`, message: "give the signature as 128 hex digits" }]);
@@ -122,7 +130,7 @@ export const walletCommitteeRelease = define({
122
130
  });
123
131
  let release;
124
132
  try {
125
- release = await client.prepareCommitteeRelease({ ...target, solver: signer, votes, deliveredSha256: delivered });
133
+ release = await client.prepareCommitteeRelease({ ...target, solver: signer, votes, deliveredSha256: delivered, ...(salt === undefined ? {} : { deliveredSalt: salt }) });
126
134
  }
127
135
  catch (error) {
128
136
  if (error instanceof VoteRejected) {
@@ -130,14 +138,17 @@ export const walletCommitteeRelease = define({
130
138
  }
131
139
  throw error;
132
140
  }
133
- const approval = ballotApproval(ballot, delivered);
141
+ const approval = ballotApproval(ballot, delivered, salt);
134
142
  if (input.send === true && input.approval !== approval) {
135
143
  throw new AgentRefusal("ReleaseChanged", RELEASE_CHANGED);
136
144
  }
137
- if (input.send === true && release.setup.length > 0) {
145
+ const device = signer.device !== undefined;
146
+ const opener = device && openings.length > 0 ? await openingPayerOf(ctx) : signer;
147
+ if (input.send === true && release.setup.length > 0 && !device) {
138
148
  await ctx.transport.send(release.setup, signer);
139
149
  }
140
- const prepared = input.send === true ? preparedView(await prepare(ctx.transport, release.instructions, signer.address)) : undefined;
150
+ const instructions = device ? [...release.setup, ...release.instructions] : release.instructions;
151
+ const prepared = input.send === true || device ? preparedView(await prepare(ctx.transport, instructions, signer.address)) : undefined;
141
152
  const view = {
142
153
  intent: release.intent,
143
154
  committee: release.committee.address,
@@ -150,10 +161,11 @@ export const walletCommitteeRelease = define({
150
161
  ],
151
162
  prepared,
152
163
  };
153
- return sent(ctx, signer, view, input.send, call, {
164
+ const done = await sent(ctx, signer, view, input.send, call, {
154
165
  preview: PREVIEW_APPROVAL_NEXT,
155
166
  done: `release sent; ${tool("wallet_feedback")} to rate if you own it`,
156
167
  });
168
+ return "signature" in done ? { ...done, ...passed, ...(await sendOpenings(ctx, opener, ballot.committee.address, openings)) } : { ...done, ...passed };
157
169
  },
158
170
  });
159
171
  //# sourceMappingURL=committee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"committee.js","sourceRoot":"","sources":["../../../../src/agent/wallet/committee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"committee.js","sourceRoot":"","sources":["../../../../src/agent/wallet/committee.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
- import { type ConfirmTarget } from "@intent-engine/client";
1
+ import { type Address } from "@solana/kit";
2
+ import { type ConfirmTarget, type SealedFor } from "@intent-engine/client";
2
3
  import { type AgentContext } from "../actions.js";
3
4
  export declare const ANNOUNCE_FIRST = "keep the work private until this announcement lands: the earliest announcer of the work is paid, so publish it only after";
5
+ export declare const sealedForLine: ({ wallet, kind, key }: SealedFor) => string;
4
6
  export declare const walletDeliver: import("../actions.js").AnyAction;
7
+ export declare const signSalt: (intent: Address, sha256: string) => string;
5
8
  export declare const notEarliest: (worker: string, sha256: string) => string;
6
9
  export declare const notInSplit: (worker: string, sha256: string) => string;
7
10
  export declare const DELIVERY_LIST: number;
@@ -1,22 +1,24 @@
1
1
  import { createNoopSigner, getBase16Decoder } from "@solana/kit";
2
- import { decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, isMemoUrl, MEMO_URL_RULE, INTENT_ENGINE_PROGRAM_ADDRESS, IntentStatus, Kind, } from "@intent-engine/core";
3
- import { chainTime, commitmentOf, ConfirmMismatch, confirmOnBoth, DELIVERY_PAGES, deliveryRecord, deliveryInstructions, firstDelivery, MEMOS_PER_TRANSACTION, SIGNATURE_PAGE, } from "@intent-engine/client";
2
+ import { decodeParams, getIntentDecoder, getIntentDiscriminatorBytes, getIntentSize, isMemoUrl, MEMO_URL_RULE, INTENT_ENGINE_PROGRAM_ADDRESS, saltMessage, IntentStatus, Kind, } from "@intent-engine/core";
3
+ import { BadSaltSignature, chainTime, commitmentOf, ConfirmMismatch, confirmOnBoth, DELIVERY_PAGES, deliveryRecord, deliveryInstructions, deliverySalt, earlier, MEMOS_PER_TRANSACTION, NoMessageSigner, opensWith, publishedSalts, recordedStanding, SIGNATURE_PAGE, } from "@intent-engine/client";
4
4
  import { define } from "../actions.js";
5
5
  import { tool } from "../names.js";
6
6
  import { AgentRefusal, untrusted } from "../problems.js";
7
7
  import { InvalidInput, account, amount, flag, integer, list, object, optional, text } from "../schema.js";
8
8
  import { preparedSchema, preparedView } from "../shapes.js";
9
9
  import { prepare } from "../prepare.js";
10
- import { PREVIEW_FIRST, signerOf, sent, sha256Of, walletKeypair } from "./guard.js";
10
+ import { deviceOutput, PREVIEW_FIRST, signerOf, sent, sha256Of, walletOpeners } from "./guard.js";
11
11
  export const ANNOUNCE_FIRST = "keep the work private until this announcement lands: the earliest announcer of the work is paid, so publish it only after";
12
- const SEALED_NOTE = "The memo carries the url sealed to the escrow's judge, or to each member of its committee, and a commitment that binds the work's sha256 to the announcing wallet, so a copied announcement pays nobody else";
12
+ const SEALED_NOTE = "The memo carries a salt and the url sealed to the escrow's judge, or to each member of its committee, a check of the salt, and a commitment that binds the work's sha256 to the announcing wallet and its salt, so a copied announcement pays nobody else and a guessed sha256 cannot be tested against it";
13
+ export const sealedForLine = ({ wallet, kind, key }) => `Seals to: ${wallet} with the key ${key}, ${kind === "profile" ? "the encryption key its profile publishes" : "derived from its wallet"}`;
13
14
  function announcing(plan, intent, sha256, url, from) {
14
15
  const { sealedTo } = plan;
15
16
  return [
16
- `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${plan.commitment}, which binds it to ${from}`,
17
- `Seals: the url ${url}, so only ${sealedTo.length === 1 ? `the attestor ${sealedTo[0] ?? plan.attestor}` : `the ${sealedTo.length} committee members`} can read it`,
17
+ `Announces: the work with sha256 ${sha256}, for the proof escrow ${intent}, as the commitment ${plan.commitment}, which binds it to ${from} and a salt only its key derives`,
18
+ `Seals: the salt and the url ${url}, so only ${sealedTo.length === 1 ? `the attestor ${sealedTo[0] ?? plan.attestor}` : `the ${sealedTo.length} committee members`} can read it`,
18
19
  `Notifies: its attestor ${plan.attestor}, with a transfer of 0 lamports from ${from}`,
19
20
  "Costs: the transaction fee; no tokens move",
21
+ plan.sealedFor.map(sealedForLine).join("; "),
20
22
  ];
21
23
  }
22
24
  export const walletDeliver = define({
@@ -38,9 +40,11 @@ export const walletDeliver = define({
38
40
  attestor: account("the escrow's judge, who receives the announcement"),
39
41
  sha256: text(),
40
42
  url: text(),
41
- commitment: text("64 hex: the sha256 that binds the work's hash to this wallet; the memo carries it in place of the hash"),
43
+ commitment: text("64 hex: the sha256 that binds the work's hash to this wallet and its salt; the memo carries it in place of the hash"),
44
+ check: text("32 hex: the salt's check, which the memo carries so that an opened salt can be matched to this announcement"),
42
45
  summary: list(text(), 8),
43
46
  warnings: list(text(), 8),
47
+ ...deviceOutput,
44
48
  sent: flag(),
45
49
  signature: optional(text()),
46
50
  next: optional(text()),
@@ -62,6 +66,7 @@ export const walletDeliver = define({
62
66
  sha256,
63
67
  url: input.url,
64
68
  commitment: plan.commitment,
69
+ check: plan.check,
65
70
  summary: announcing(plan, input.intent, sha256, input.url, "this wallet"),
66
71
  warnings: [ANNOUNCE_FIRST],
67
72
  prepared: preparedView(await prepare(ctx.transport, instructions, signer.address)),
@@ -71,6 +76,7 @@ export const walletDeliver = define({
71
76
  });
72
77
  },
73
78
  });
79
+ export const signSalt = (intent, sha256) => `the worker's ed25519 signature of the message ${Buffer.from(saltMessage(intent, sha256)).toString("hex")}, as 128 hex digits; the salt is derived from it, so sign it with the worker's key, the same way each time`;
74
80
  export const notEarliest = (worker, sha256) => `${worker} announced the work with sha256 ${sha256} first, so a release recording it pays ${worker}; anyone can copy an announcement once it is on chain, so the earliest announcer is paid`;
75
81
  export const notInSplit = (worker, sha256) => `${worker} announced the work with sha256 ${sha256} first, so a split recording it must pay ${worker} among its recipients; anyone can copy an announcement once it is on chain, so the earliest announcer is paid`;
76
82
  export const DELIVERY_LIST = DELIVERY_PAGES * SIGNATURE_PAGE * MEMOS_PER_TRANSACTION;
@@ -92,8 +98,12 @@ export const walletCheckDelivery = define({
92
98
  output: deliveriesOutput(tool("wallet_attest")),
93
99
  run: async (ctx, input) => {
94
100
  const sha256 = input.sha256 === undefined ? undefined : sha256Of(input.sha256, "sha256");
95
- const wallet = sha256 === undefined ? undefined : (await signerOf(ctx)).address;
96
- return deliveriesOf(ctx, input.intent, await walletKeypair(ctx), wallet === undefined || sha256 === undefined ? undefined : { wallet, sha256 });
101
+ if (sha256 === undefined) {
102
+ return deliveriesOf(ctx, input.intent, await walletOpeners(ctx));
103
+ }
104
+ const signer = await signerOf(ctx);
105
+ const salt = await saltOf(() => deliverySalt(signer, input.intent, sha256));
106
+ return deliveriesOf(ctx, input.intent, await walletOpeners(ctx), { wallet: signer.address, sha256, salt });
97
107
  },
98
108
  });
99
109
  function deliveriesOutput(releasing) {
@@ -106,16 +116,25 @@ function deliveriesOutput(releasing) {
106
116
  complete: flag(`whether the whole history was read; when false, older announcements may be missing and ${releasing} refuses to release`),
107
117
  deliveries: list(object({
108
118
  worker: account("the announcing wallet, which the commitment binds"),
109
- commitment: text("64 hex: the sha256 of the work's hash bound to the intent and this announcer"),
119
+ commitment: text("64 hex: the sha256 of the work's hash bound to the intent, this announcer and its salt"),
120
+ check: text("32 hex: the check of the announcement's salt"),
110
121
  signature: text("the announcement's transaction"),
111
122
  url: optional(text("where the announcer said the work is, when the url was sealed to this wallet; untrusted")),
112
- }), DELIVERY_LIST, `each announcement hides the work's hash in a commitment; a release recording a hash pays the earliest whose commitment, recomputed with its own announcer, matches it. ${SEALED_NOTE}`),
123
+ opened_salt: optional(text("the announcement's salt, when an opening published it")),
124
+ }), DELIVERY_LIST, `each announcement hides the work's hash in a commitment; a release recording a hash pays the earliest whose sealed salt opens its commitment to it. ${SEALED_NOTE}`),
113
125
  own: optional(object({
114
- commitment: text("64 hex: this wallet's commitment to the given sha256"),
126
+ commitment: text("64 hex: this wallet's commitment to the given sha256, with the salt its key derives"),
127
+ salt: text("32 hex: this wallet's salt for the given sha256, recomputed from its key; keep it private until the release"),
115
128
  landed: flag("whether an announcement with this commitment, sent by this wallet, is on chain"),
116
- earliest: flag("whether this wallet is the earliest announcer of the given sha256, so a release recording it pays this wallet"),
129
+ earliest: flag("whether no earlier announcement of the given sha256 is known; others' salts are sealed, so only a published opening can show one"),
117
130
  signature: optional(text("this wallet's earliest announcement of it")),
118
131
  })),
132
+ release: optional(object({
133
+ signature: text("the release's transaction"),
134
+ sha256: text("the sha256 the release recorded"),
135
+ valid: flag("whether the payee's salt the release recorded opens the payee's announcement to that sha256"),
136
+ refuted_by: optional(text("an earlier announcement of the same sha256 that a published opening shows")),
137
+ })),
119
138
  });
120
139
  }
121
140
  async function proofEscrow(ctx, intent) {
@@ -133,24 +152,42 @@ async function proofEscrow(ctx, intent) {
133
152
  }
134
153
  return { held, params };
135
154
  }
155
+ async function saltOf(derive) {
156
+ try {
157
+ return await derive();
158
+ }
159
+ catch (error) {
160
+ if (error instanceof NoMessageSigner) {
161
+ throw new AgentRefusal("NoMessageSigner", error.message);
162
+ }
163
+ throw error;
164
+ }
165
+ }
136
166
  async function deliveriesOf(ctx, intent, keypair, own) {
137
167
  const { held, params } = await proofEscrow(ctx, intent);
138
168
  const open = held.status === IntentStatus.Open && held.expiresAt > (await chainTime(ctx.transport));
139
169
  const record = await deliveryRecord(ctx.transport, params.attestor, intent, undefined, keypair);
140
- const deliveries = record.deliveries.map(({ worker, commitment, signature, url }) => ({ worker, commitment, signature, ...(url === "" ? {} : { url }) }));
170
+ const deliveries = record.deliveries.map((delivery) => {
171
+ const [opened] = publishedSalts(delivery, record.openings);
172
+ const { worker, commitment, check, signature, url } = delivery;
173
+ return { worker, commitment, check, signature, ...(url === "" ? {} : { url }), ...(opened === undefined ? {} : { opened_salt: opened }) };
174
+ });
141
175
  const mine = own === undefined
142
176
  ? undefined
143
177
  : (() => {
144
- const commitment = commitmentOf(intent, own.wallet, own.sha256);
145
- const landed = record.deliveries.filter((d) => d.worker === own.wallet && d.commitment === commitment);
146
- const first = firstDelivery(landed, own.sha256);
178
+ const commitment = commitmentOf(intent, own.wallet, own.salt, own.sha256);
179
+ const landed = record.deliveries.filter((d) => d.worker === own.wallet && opensWith(d, own.salt, own.sha256)).sort((a, b) => (earlier(a, b) ? -1 : 1));
180
+ const [first] = landed;
181
+ const shown = record.deliveries.some((d) => d.worker !== own.wallet && (first === undefined || earlier(d, first)) && publishedSalts(d, record.openings).some((salt) => opensWith(d, salt, own.sha256)));
147
182
  return {
148
183
  commitment,
149
- landed: first !== null,
150
- earliest: firstDelivery(record.deliveries, own.sha256)?.worker === own.wallet,
151
- ...(first === null ? {} : { signature: first.signature }),
184
+ salt: own.salt,
185
+ landed: first !== undefined,
186
+ earliest: first !== undefined && !shown,
187
+ ...(first === undefined ? {} : { signature: first.signature }),
152
188
  };
153
189
  })();
190
+ const release = await recordedStanding(ctx.transport, intent, record);
154
191
  return {
155
192
  intent,
156
193
  owner: held.owner,
@@ -160,6 +197,9 @@ async function deliveriesOf(ctx, intent, keypair, own) {
160
197
  complete: record.complete,
161
198
  deliveries,
162
199
  ...(mine === undefined ? {} : { own: mine }),
200
+ ...(release === null
201
+ ? {}
202
+ : { release: { signature: release.signature, sha256: release.sha256, valid: release.valid, ...(release.refutedBy === null ? {} : { refuted_by: release.refutedBy }) } }),
163
203
  };
164
204
  }
165
205
  async function deliveryPlan(ctx, input) {
@@ -167,6 +207,12 @@ async function deliveryPlan(ctx, input) {
167
207
  return await deliveryInstructions(ctx.transport, input);
168
208
  }
169
209
  catch (error) {
210
+ if (error instanceof BadSaltSignature) {
211
+ throw new InvalidInput([{ path: "salt_signature", message: error.message }]);
212
+ }
213
+ if (error instanceof NoMessageSigner) {
214
+ throw new AgentRefusal("NoMessageSigner", input.saltSignature === undefined ? `${error.message}; or pass salt_signature: ${signSalt(input.intent, input.sha256)}` : error.message);
215
+ }
170
216
  if (error instanceof RangeError) {
171
217
  throw new InvalidInput([{ path: "url", message: error.message }]);
172
218
  }
@@ -180,7 +226,7 @@ export const checkDelivery = define({
180
226
  effect: "read",
181
227
  input: object({ intent: account("the proof escrow's intent address") }),
182
228
  output: deliveriesOutput("a release"),
183
- run: async (ctx, input) => deliveriesOf(ctx, input.intent),
229
+ run: async (ctx, input) => deliveriesOf(ctx, input.intent, []),
184
230
  });
185
231
  export const prepareDeliver = define({
186
232
  name: tool("prepare_deliver"),
@@ -192,13 +238,15 @@ export const prepareDeliver = define({
192
238
  intent: account("the proof escrow's intent address"),
193
239
  sha256: text("the sha256 of the delivered work, as 64 hex digits; the judge releases for this same value, passed as delivered_sha256"),
194
240
  url: text(`where the attestor fetches the work, ${MEMO_URL_RULE}`),
241
+ salt_signature: optional(text("the worker's ed25519 signature, as 128 hex digits, of the salt message a call without it names; the announcement's salt is derived from it")),
195
242
  }),
196
243
  output: object({
197
244
  intent: account(),
198
245
  attestor: account("the escrow's judge, who receives the announcement"),
199
246
  sha256: text(),
200
247
  url: text(),
201
- commitment: text("64 hex: the sha256 that binds the work's hash to the worker; the memo carries it in place of the hash"),
248
+ commitment: text("64 hex: the sha256 that binds the work's hash to the worker and its salt; the memo carries it in place of the hash"),
249
+ check: text("32 hex: the salt's check, which the memo carries"),
202
250
  summary: list(text(), 8),
203
251
  warnings: list(text(), 8),
204
252
  prepared: preparedSchema,
@@ -208,7 +256,9 @@ export const prepareDeliver = define({
208
256
  if (!isMemoUrl(input.url)) {
209
257
  throw new InvalidInput([{ path: "url", message: `must be ${MEMO_URL_RULE}` }]);
210
258
  }
211
- const plan = await deliveryPlan(ctx, { worker: createNoopSigner(input.worker), intent: input.intent, sha256, url: input.url });
259
+ const saltSignature = input.salt_signature === undefined ? undefined : signatureOf(input.salt_signature);
260
+ const worker = createNoopSigner(input.worker);
261
+ const plan = await deliveryPlan(ctx, { worker, intent: input.intent, sha256, url: input.url, ...(saltSignature === undefined ? {} : { saltSignature }) });
212
262
  const { attestor, instructions } = plan;
213
263
  return {
214
264
  intent: input.intent,
@@ -216,12 +266,19 @@ export const prepareDeliver = define({
216
266
  sha256,
217
267
  url: input.url,
218
268
  commitment: plan.commitment,
269
+ check: plan.check,
219
270
  summary: announcing(plan, input.intent, sha256, input.url, input.worker),
220
271
  warnings: [ANNOUNCE_FIRST],
221
272
  prepared: preparedView(await prepare(ctx.transport, instructions, input.worker)),
222
273
  };
223
274
  },
224
275
  });
276
+ function signatureOf(text) {
277
+ if (!/^[0-9a-fA-F]{128}$/.test(text)) {
278
+ throw new InvalidInput([{ path: "salt_signature", message: "give the signature as 128 hex digits" }]);
279
+ }
280
+ return Uint8Array.from(Buffer.from(text, "hex"));
281
+ }
225
282
  export async function confirmedRelease(ctx, target) {
226
283
  if (ctx.confirm === undefined) {
227
284
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/agent/wallet/delivery.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import { feeBpsFor, formatAmount, Kind, MEMO_URL_RULE, NATIVE_MINT, splitFees }
2
2
  import { chainTime, loadConfig, mintOf } from "@intent-engine/client";
3
3
  import { TOKEN_NAMES, tokenNamed } from "../../tokens.js";
4
4
  import { define } from "../actions.js";
5
- import { MAX_EXPIRES_IN, MIN_EXPIRES_IN, neverSettles } from "../create.js";
5
+ import { escrowJudge, MAX_EXPIRES_IN, MIN_EXPIRES_IN, neverSettles } from "../create.js";
6
6
  import { tool } from "../names.js";
7
7
  import { AgentRefusal, problemOf } from "../problems.js";
8
8
  import { InvalidInput, account, amount, flag, hex32, integer, list, object, optional, text } from "../schema.js";
9
- import { LANDING_SECONDS, access, mintNamed, raw, salesOf, checkSale, checkHour, refusedBeforeSending, PREVIEW_FIRST } from "./guard.js";
9
+ import { LANDING_SECONDS, access, mintNamed, raw, salesOf, checkSale, checkHour, refusedBeforeSending, PREVIEW_FIRST, oneAtATime, signerOf } from "./guard.js";
10
10
  import { offerOutput, offered } from "./offer.js";
11
11
  import { fetchSha256 } from "../../delivery-fetch.js";
12
12
  async function specPreflight(ctx, specUrl, specHash) {
@@ -44,7 +44,7 @@ export const walletEscrow = define({
44
44
  input: object({
45
45
  sell: text("SOL, TEST or a mint address: the token to pay with"),
46
46
  amount: text("whole tokens to escrow, such as 0.05"),
47
- attestor: account("the wallet whose signature alone releases the escrow"),
47
+ attestor: account("the wallet whose signature alone releases the escrow, or a committee's address; at or above the token's committee floor it must be a committee of 2 or more"),
48
48
  min_result: optional(amount("least result the attestor may attest, a plain count not whole tokens; default 1")),
49
49
  max_result: optional(amount("greatest result the attestor may attest, a plain count not whole tokens; default min_result")),
50
50
  spec_hash: optional(hex32("64 hex: the sha256 of the acceptance spec the attestor must verify. Setting it binds the release to a signature over that exact spec, so the attestor cannot sign a generic result")),
@@ -132,6 +132,7 @@ export const walletEscrowPlan = define({
132
132
  }),
133
133
  run: async (ctx, input, call) => {
134
134
  const wallet = access(ctx);
135
+ oneAtATime(await signerOf(ctx));
135
136
  const sold = mintNamed(input.sell, wallet.url, "sell");
136
137
  const buy = recordedMint(sold, wallet.url, input.record_mint);
137
138
  const [token, now, { config }] = await Promise.all([mintOf(ctx.transport, sold), chainTime(ctx.transport), loadConfig(ctx.transport)]);
@@ -141,10 +142,14 @@ export const walletEscrowPlan = define({
141
142
  attestor: piece.attestor ?? input.attestor,
142
143
  }));
143
144
  for (const [i, piece] of planned.entries()) {
144
- const unsettled = neverSettles({ kind: Kind.AttestedResult, amountIn: piece.amountIn, minResult: 1n, maxResult: 1n, attestor: piece.attestor, specHash: new Uint8Array(32), judgeFee: 0n }, config, 0, token.decimals);
145
+ const order = { kind: Kind.AttestedResult, amountIn: piece.amountIn, minResult: 1n, maxResult: 1n, attestor: piece.attestor, specHash: new Uint8Array(32), judgeFee: 0n };
146
+ const unsettled = neverSettles(order, config, 0, token.decimals);
145
147
  if (unsettled !== undefined) {
146
148
  throw new AgentRefusal("NeverSettles", `${pieceUnsettled(i + 1, piece.name)}${unsettled}`);
147
149
  }
150
+ await escrowJudge(ctx.transport, config, sold, order, token.decimals).catch((error) => {
151
+ throw error instanceof AgentRefusal ? new AgentRefusal("CommitteeRequired", `${pieceUnsettled(i + 1, piece.name)}${error.message}`) : error;
152
+ });
148
153
  }
149
154
  const total = planned.reduce((sum, piece) => sum + piece.amountIn, 0n);
150
155
  const sales = await salesOf(wallet, now);
@@ -1 +1 @@
1
- {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../../src/agent/wallet/escrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../../src/agent/wallet/escrow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/J,OAAO,EAAE,WAAW,EAAc,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,OAAe,EAAE,QAAgB;IAC/E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,YAAY,KAAK,CAAC,OAAO,6CAA6C,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,OAAO,sBAAsB,KAAK,CAAC,MAAM,mBAAmB,QAAQ,6CAA6C,CAAC;IACpH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,uBAAuB,CAAC,4BAA4B,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC;AAE7I,MAAM,CAAC,MAAM,kBAAkB,GAAG,iGAAiG,CAAC;AAEpI,SAAS,YAAY,CAAC,IAAa,EAAE,GAAW,EAAE,MAA0B;IAC1E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC;IAC3B,KAAK,EAAE,6CAA6C;IACpD,WAAW,EAAE,6MAA6M,IAAI,CAAC,WAAW,CAAC,4EAA4E,aAAa,EAAE;IACtU,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,oDAAoD,CAAC;QAChE,MAAM,EAAE,IAAI,CAAC,sCAAsC,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC,6JAA6J,CAAC;QAChL,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,iFAAiF,CAAC,CAAC;QAC/G,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,6FAA6F,CAAC,CAAC;QAC3H,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,oLAAoL,CAAC,CAAC;QAChN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,2CAA2C,aAAa,yEAAyE,CAAC,CAAC;QAC3J,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,sIAAsI,CAAC,CAAC;QACjK,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,0DAA0D,iBAAiB,EAAE,CAAC,CAAC;QAC5I,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAC;QACvJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;QACvC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjK,IAAI,OAA2E,CAAC;QAChF,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YACrJ,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxG,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnE,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;oBAC1D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;iBAClE;gBACD,UAAU,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,eAAe,CAAC;gBACnF,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC,EAAE,QAAQ,CAAC,CAA4B,CAAC;QACzC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAE,QAAQ,CAAC,SAAS,CAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChI,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAE,QAAQ,CAAC,UAAU,CAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClH,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,GAAiB,EAAE,OAA+D;IACvG,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrF,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,mBAAmB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,GAAG,kCAAkC,CAAC;AAC1H,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAC/E,GAAG,IAAI,OAAO,KAAK,+CAA+C,OAAO,gCAAgC,KAAK,GAAG,IAAI,4CAA4C,CAAC;AAEpK,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAClF,GAAG,IAAI,OAAO,KAAK,2DAA2D,OAAO,YAAY,IAAI,CAAC,gBAAgB,CAAC,0DAA0D,CAAC;AAEpL,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAAC,+BAA+B,KAAK,KAAK,IAAI,oBAAoB,CAAC;AAIjI,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;IACrC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAChC,KAAK,EAAE,oCAAoC;IAC3C,WAAW,EAAE,kGAAkG,IAAI,CAAC,eAAe,CAAC,qFAAqF,IAAI,CAAC,eAAe,CAAC,uDAAuD,aAAa,EAAE;IACpT,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,oDAAoD,CAAC;QAChE,QAAQ,EAAE,OAAO,CAAC,wEAAwE,CAAC;QAC3F,MAAM,EAAE,IAAI,CACV,MAAM,CAAC;YACL,IAAI,EAAE,IAAI,CAAC,+CAA+C,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,4CAA4C,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;SAC5E,CAAC,EACF,UAAU,EACV,sBAAsB,EACtB,CAAC,CACF;QACD,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,2DAA2D,iBAAiB,EAAE,CAAC,CAAC;QAC7I,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,4HAA4H,CAAC,CAAC;QACzJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,CACV,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAClJ,UAAU,CACX;QACD,KAAK,EAAE,IAAI,CAAC,yCAAyC,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,gCAAgC,CAAC;QAC3D,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1B,IAAI,EAAE,IAAI,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,UAAU,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvI,MAAM,OAAO,GAAY,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;YACjE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;SAC3C,CAAC,CAAC,CAAC;QACJ,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAW,CAAC;YACnL,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC7F,MAAM,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,mBAAmB,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9I,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,OAAc,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC;YAC7E,KAAK,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACzH,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,eAAe,CAAC;SACnF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxI,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAA8B,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC;QACxH,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC1C,OAAO,EAAE;gBACP,SAAS,OAAO,CAAC,MAAM,YAAY,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,oDAAoD;gBACrI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxJ,GAAI,KAAK,CAAC,SAAS,CAAc;aAClC;YACD,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAa;SACxC,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpH,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClD,OAAO;oBACL,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChE,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;YACL,MAAM;YACN,GAAG,KAAK;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,qBAAqB,IAAI,CAAC,uBAAuB,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,0BAA0B;SAClI,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}