@mono-agent/a2a-adapter 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/consumer.js CHANGED
@@ -1,32 +1,46 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { Role, TaskState, } from "@a2a-js/sdk";
3
- import { Client, ClientFactory, JsonRpcTransportFactory, RestTransportFactory, } from "@a2a-js/sdk/client";
3
+ import { Client, ClientFactory, JsonRpcTransportFactory, RestTransportFactory, ServiceParameters, withA2AExtensions, } from "@a2a-js/sdk/client";
4
4
  import { A2AConsumerError } from "./errors.js";
5
+ import { A2A_IDEMPOTENCY_EXTENSION_URI, A2A_IDEMPOTENCY_METADATA_KEY, A2A_IDEMPOTENCY_SCHEMA_VERSION, a2aIdempotencyEnvelope, classifyA2AIdempotencyTransportError, stableA2AMessageId, } from "./idempotency.js";
5
6
  export class A2AConsumer {
6
7
  agentCard;
7
8
  client;
8
9
  agentUrl;
9
10
  timeoutMs;
11
+ refreshConnection;
10
12
  constructor(input) {
11
13
  this.client = input.client;
12
14
  this.agentCard = input.agentCard;
13
15
  this.agentUrl = input.agentUrl;
14
16
  this.timeoutMs = input.timeoutMs;
17
+ this.refreshConnection = input.refreshConnection;
15
18
  }
16
19
  async sendMessage(input) {
17
20
  const request = buildSendMessageRequest(input);
18
21
  const timeoutContext = signalWithTimeout(input.signal, input.timeoutMs ?? this.timeoutMs);
19
- const options = timeoutContext.signal === undefined
20
- ? undefined
21
- : { signal: timeoutContext.signal };
22
+ const options = requestOptionsFor(input, timeoutContext.signal);
22
23
  try {
23
- if (input.stream === true && this.agentCard.capabilities?.streaming === true) {
24
- return await this.sendStreaming(request, options);
24
+ let agentCard = this.agentCard;
25
+ let client = this.client;
26
+ if (input.idempotencyKey !== undefined) {
27
+ if (this.refreshConnection !== undefined) {
28
+ const refreshed = await this.refreshConnection(timeoutContext.signal);
29
+ assertIdempotencySupported(refreshed.agentCard);
30
+ agentCard = refreshed.agentCard;
31
+ client = refreshed.client;
32
+ }
33
+ else {
34
+ assertIdempotencySupported(agentCard);
35
+ }
36
+ }
37
+ if (input.stream === true && agentCard.capabilities?.streaming === true) {
38
+ return await this.sendStreaming(client, request, options);
25
39
  }
26
- const result = await this.client.sendMessage(request, options);
40
+ const result = await client.sendMessage(request, options);
27
41
  return responseFromResult(result, {
28
42
  agentUrl: this.agentUrl,
29
- protocolVersion: this.client.protocolVersion,
43
+ protocolVersion: client.protocolVersion,
30
44
  allowPending: input.returnImmediately === true,
31
45
  });
32
46
  }
@@ -40,6 +54,30 @@ export class A2AConsumer {
40
54
  timeoutContext.cleanup();
41
55
  }
42
56
  }
57
+ async dispatchMessage(input) {
58
+ if (typeof input.idempotencyKey !== "string") {
59
+ throw new A2AConsumerError("invalid_idempotency_key", "A2A dispatchMessage requires an idempotencyKey.", { field: "idempotencyKey" });
60
+ }
61
+ const request = cloneDispatchRequest(buildSendMessageRequest({
62
+ ...input,
63
+ returnImmediately: true,
64
+ stream: false,
65
+ }));
66
+ const current = await this.sendDispatchProjection(request, {
67
+ returnImmediately: true,
68
+ ...(input.signal === undefined ? {} : { signal: input.signal }),
69
+ ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
70
+ });
71
+ return new A2AConsumerDispatchHandle({
72
+ current,
73
+ observe: async (options) => await this.sendDispatchProjection(request, {
74
+ returnImmediately: false,
75
+ ...(options?.signal === undefined ? {} : { signal: options.signal }),
76
+ ...(options?.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),
77
+ }),
78
+ cancel: async (taskId, signal) => await this.cancelDispatchTask(taskId, signal),
79
+ });
80
+ }
43
81
  async cancelTask(taskId, signal) {
44
82
  const options = signal === undefined ? undefined : { signal };
45
83
  try {
@@ -55,9 +93,59 @@ export class A2AConsumer {
55
93
  throw normalizeConsumerError(error);
56
94
  }
57
95
  }
58
- async sendStreaming(request, options) {
96
+ async sendDispatchProjection(request, projection) {
97
+ const timeoutContext = signalWithTimeout(projection.signal, projection.timeoutMs ?? this.timeoutMs);
98
+ const options = requestOptionsForIdempotency(true, timeoutContext.signal);
99
+ try {
100
+ let agentCard = this.agentCard;
101
+ let client = this.client;
102
+ if (this.refreshConnection !== undefined) {
103
+ const refreshed = await this.refreshConnection(timeoutContext.signal);
104
+ agentCard = refreshed.agentCard;
105
+ client = refreshed.client;
106
+ }
107
+ assertIdempotencySupported(agentCard);
108
+ const result = await client.sendMessage(projectSendMessageRequest(request, projection.returnImmediately), options);
109
+ return responseFromResult(result, {
110
+ agentUrl: this.agentUrl,
111
+ protocolVersion: client.protocolVersion,
112
+ allowPending: true,
113
+ allowTerminalFailures: true,
114
+ allowEmptyResponse: true,
115
+ });
116
+ }
117
+ catch (error) {
118
+ throw normalizeConsumerError(error, {
119
+ agentUrl: this.agentUrl,
120
+ timeoutContext,
121
+ });
122
+ }
123
+ finally {
124
+ timeoutContext.cleanup();
125
+ }
126
+ }
127
+ async cancelDispatchTask(taskId, signal) {
128
+ const options = signal === undefined ? undefined : { signal };
129
+ try {
130
+ const client = this.refreshConnection === undefined
131
+ ? this.client
132
+ : (await this.refreshConnection(signal)).client;
133
+ const task = await client.cancelTask({ id: taskId, tenant: "", metadata: {} }, options);
134
+ return responseFromResult(task, {
135
+ agentUrl: this.agentUrl,
136
+ protocolVersion: client.protocolVersion,
137
+ allowPending: true,
138
+ allowTerminalFailures: true,
139
+ allowEmptyResponse: true,
140
+ });
141
+ }
142
+ catch (error) {
143
+ throw normalizeConsumerError(error);
144
+ }
145
+ }
146
+ async sendStreaming(client, request, options) {
59
147
  let latest;
60
- for await (const event of this.client.sendMessageStream(request, options)) {
148
+ for await (const event of client.sendMessageStream(request, options)) {
61
149
  latest = resultFromStreamEvent(event) ?? latest;
62
150
  }
63
151
  if (latest === undefined) {
@@ -65,7 +153,7 @@ export class A2AConsumer {
65
153
  }
66
154
  return responseFromResult(latest, {
67
155
  agentUrl: this.agentUrl,
68
- protocolVersion: this.client.protocolVersion,
156
+ protocolVersion: client.protocolVersion,
69
157
  allowPending: false,
70
158
  });
71
159
  }
@@ -91,6 +179,17 @@ export async function createA2AConsumer(options) {
91
179
  client,
92
180
  agentCard,
93
181
  agentUrl: options.agentUrl,
182
+ refreshConnection: async (signal) => {
183
+ const refreshedCard = await discoverA2AAgent({
184
+ agentUrl: options.agentUrl,
185
+ fetchImpl,
186
+ ...(signal === undefined ? {} : { signal }),
187
+ });
188
+ return {
189
+ agentCard: refreshedCard,
190
+ client: await factory.createFromAgentCard(refreshedCard),
191
+ };
192
+ },
94
193
  ...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),
95
194
  });
96
195
  }
@@ -99,7 +198,7 @@ export async function discoverA2AAgent(input) {
99
198
  const cardUrl = agentCardUrlFor(input.agentUrl);
100
199
  let response;
101
200
  try {
102
- response = await fetchImpl(cardUrl);
201
+ response = await fetchImpl(cardUrl, input.signal === undefined ? undefined : { signal: input.signal });
103
202
  }
104
203
  catch (error) {
105
204
  throw new A2AConsumerError("discovery_failed", "Failed to fetch A2A Agent Card.", {
@@ -121,6 +220,17 @@ export async function sendA2AMessage(input) {
121
220
  const consumer = await createA2AConsumer(input);
122
221
  return await consumer.sendMessage(input);
123
222
  }
223
+ export async function dispatchA2AMessage(input) {
224
+ const consumer = await createA2AConsumer({
225
+ agentUrl: input.agentUrl,
226
+ ...(input.bearerToken === undefined ? {} : { bearerToken: input.bearerToken }),
227
+ ...(input.fetchImpl === undefined ? {} : { fetchImpl: input.fetchImpl }),
228
+ ...(input.preferredTransports === undefined
229
+ ? {}
230
+ : { preferredTransports: input.preferredTransports }),
231
+ });
232
+ return await consumer.dispatchMessage(input);
233
+ }
124
234
  export function createA2AConsumerResponder(options) {
125
235
  let consumerPromise;
126
236
  const getConsumer = () => {
@@ -130,9 +240,11 @@ export function createA2AConsumerResponder(options) {
130
240
  return {
131
241
  async respond(request, stream) {
132
242
  const consumer = await getConsumer();
243
+ const idempotencyKey = options.idempotencyKeyForRequest?.(request);
133
244
  const response = await consumer.sendMessage({
134
245
  text: request.text,
135
246
  contextId: request.conversationId,
247
+ ...(idempotencyKey === undefined ? {} : { idempotencyKey }),
136
248
  signal: request.abortSignal,
137
249
  stream: options.streamRemote === true,
138
250
  });
@@ -144,26 +256,55 @@ export function createA2AConsumerResponder(options) {
144
256
  };
145
257
  }
146
258
  function buildSendMessageRequest(input) {
259
+ const idempotencyKey = normalizeConsumerIdempotencyKey(input.idempotencyKey);
147
260
  const message = input.message ?? textMessage({
148
261
  text: requireText(input.text),
149
262
  contextId: input.contextId ?? "",
150
263
  taskId: input.taskId ?? "",
264
+ ...(idempotencyKey === undefined ? {} : { messageId: stableA2AMessageId(idempotencyKey) }),
151
265
  });
266
+ const metadata = { ...(input.metadata ?? {}) };
267
+ if (idempotencyKey !== undefined) {
268
+ if (Object.prototype.hasOwnProperty.call(metadata, A2A_IDEMPOTENCY_METADATA_KEY)) {
269
+ throw new A2AConsumerError("invalid_idempotency_key", `A2A request metadata key ${A2A_IDEMPOTENCY_METADATA_KEY} is reserved; pass idempotencyKey instead.`);
270
+ }
271
+ metadata[A2A_IDEMPOTENCY_METADATA_KEY] = a2aIdempotencyEnvelope(idempotencyKey);
272
+ }
152
273
  return {
153
274
  tenant: "",
154
275
  message,
155
276
  configuration: {
156
277
  acceptedOutputModes: ["text/plain"],
157
278
  taskPushNotificationConfig: undefined,
158
- historyLength: 10,
279
+ historyLength: normalizeHistoryLength(input.historyLength),
159
280
  returnImmediately: input.returnImmediately === true,
160
281
  },
161
- metadata: input.metadata ?? {},
282
+ metadata,
283
+ };
284
+ }
285
+ function cloneDispatchRequest(request) {
286
+ try {
287
+ return structuredClone(request);
288
+ }
289
+ catch (error) {
290
+ throw new A2AConsumerError("send_failed", "A2A dispatch payload must be structured-cloneable so it can be observed safely.", { reason: error instanceof Error ? error.message : String(error) });
291
+ }
292
+ }
293
+ function projectSendMessageRequest(request, returnImmediately) {
294
+ if (request.configuration === undefined) {
295
+ throw new A2AConsumerError("send_failed", "A2A dispatch request is missing its response projection configuration.");
296
+ }
297
+ return {
298
+ ...request,
299
+ configuration: {
300
+ ...request.configuration,
301
+ returnImmediately,
302
+ },
162
303
  };
163
304
  }
164
305
  function textMessage(input) {
165
306
  return {
166
- messageId: randomUUID(),
307
+ messageId: input.messageId ?? randomUUID(),
167
308
  contextId: input.contextId,
168
309
  taskId: input.taskId,
169
310
  role: Role.ROLE_USER,
@@ -190,12 +331,17 @@ function requireText(text) {
190
331
  }
191
332
  function responseFromResult(result, context) {
192
333
  if (isTask(result)) {
193
- const failure = failureForTask(result, context.allowCanceled === true);
334
+ const failure = context.allowTerminalFailures === true
335
+ ? undefined
336
+ : failureForTask(result, context.allowCanceled === true);
194
337
  if (failure !== undefined) {
195
338
  throw failure;
196
339
  }
197
340
  const text = textFromTask(result);
198
- if (text === undefined && !context.allowPending && result.status?.state === TaskState.TASK_STATE_COMPLETED) {
341
+ if (text === undefined
342
+ && context.allowEmptyResponse !== true
343
+ && !context.allowPending
344
+ && result.status?.state === TaskState.TASK_STATE_COMPLETED) {
199
345
  throw new A2AConsumerError("empty_a2a_response", "Remote A2A task completed without text output.", { taskId: result.id });
200
346
  }
201
347
  return {
@@ -212,11 +358,11 @@ function responseFromResult(result, context) {
212
358
  };
213
359
  }
214
360
  const text = textFromMessage(result);
215
- if (text === undefined) {
361
+ if (text === undefined && context.allowEmptyResponse !== true) {
216
362
  throw new A2AConsumerError("empty_a2a_response", "Remote A2A message did not contain text output.", { messageId: result.messageId });
217
363
  }
218
364
  return {
219
- text,
365
+ ...(text === undefined ? {} : { text }),
220
366
  metadata: {
221
367
  a2a: {
222
368
  remoteAgentUrl: context.agentUrl,
@@ -277,6 +423,102 @@ function failureForTask(task, allowCanceled) {
277
423
  }
278
424
  return undefined;
279
425
  }
426
+ class A2AConsumerDispatchHandle {
427
+ currentResponse;
428
+ observe;
429
+ cancelTask;
430
+ constructor(input) {
431
+ this.currentResponse = input.current;
432
+ this.observe = input.observe;
433
+ this.cancelTask = input.cancel;
434
+ }
435
+ get current() {
436
+ return this.currentResponse;
437
+ }
438
+ async observeTerminal(options) {
439
+ const currentOutcome = terminalOutcomeFromResponse(this.currentResponse);
440
+ if (currentOutcome !== undefined) {
441
+ return currentOutcome;
442
+ }
443
+ const response = await this.observe(options);
444
+ this.currentResponse = response;
445
+ return requireTerminalOutcome(response);
446
+ }
447
+ async cancel(options) {
448
+ const currentOutcome = terminalOutcomeFromResponse(this.currentResponse);
449
+ if (currentOutcome !== undefined) {
450
+ return currentOutcome;
451
+ }
452
+ const taskId = this.currentResponse.metadata.a2a.taskId;
453
+ if (taskId === undefined || taskId.length === 0) {
454
+ throw new A2AConsumerError("send_failed", "The admitted A2A dispatch has no task id and cannot be canceled.");
455
+ }
456
+ const response = await this.cancelTask(taskId, options?.signal);
457
+ this.currentResponse = response;
458
+ const canceledOutcome = terminalOutcomeFromResponse(response);
459
+ if (canceledOutcome !== undefined) {
460
+ return canceledOutcome;
461
+ }
462
+ return await this.observeTerminal(options?.signal === undefined ? undefined : { signal: options.signal });
463
+ }
464
+ }
465
+ function terminalOutcomeFromResponse(response) {
466
+ const state = response.metadata.a2a.state;
467
+ if (state === undefined) {
468
+ return response.metadata.a2a.messageId === undefined
469
+ ? undefined
470
+ : { status: "completed", response };
471
+ }
472
+ if (state === "TASK_STATE_COMPLETED") {
473
+ return { status: "completed", response };
474
+ }
475
+ const terminalFailure = terminalFailureForState(state);
476
+ if (terminalFailure === undefined) {
477
+ return undefined;
478
+ }
479
+ return {
480
+ status: terminalFailure.status,
481
+ response,
482
+ error: new A2AConsumerError(terminalFailure.code, response.text ?? terminalFailure.message, {
483
+ ...(response.metadata.a2a.taskId === undefined
484
+ ? {}
485
+ : { taskId: response.metadata.a2a.taskId }),
486
+ state,
487
+ }),
488
+ };
489
+ }
490
+ function requireTerminalOutcome(response) {
491
+ const outcome = terminalOutcomeFromResponse(response);
492
+ if (outcome !== undefined) {
493
+ return outcome;
494
+ }
495
+ throw new A2AConsumerError("send_failed", "A2A terminal observation returned a non-terminal response.", {
496
+ ...(response.metadata.a2a.taskId === undefined
497
+ ? {}
498
+ : { taskId: response.metadata.a2a.taskId }),
499
+ ...(response.metadata.a2a.state === undefined
500
+ ? {}
501
+ : { state: response.metadata.a2a.state }),
502
+ });
503
+ }
504
+ function terminalFailureForState(state) {
505
+ if (state === "TASK_STATE_FAILED") {
506
+ return { status: "failed", code: "remote_failed", message: "Remote A2A task failed." };
507
+ }
508
+ if (state === "TASK_STATE_CANCELED") {
509
+ return { status: "canceled", code: "remote_canceled", message: "Remote A2A task was canceled." };
510
+ }
511
+ if (state === "TASK_STATE_REJECTED") {
512
+ return { status: "rejected", code: "remote_rejected", message: "Remote A2A task was rejected." };
513
+ }
514
+ if (state === "TASK_STATE_AUTH_REQUIRED") {
515
+ return { status: "auth_required", code: "remote_auth_required", message: "Remote A2A task requires authentication." };
516
+ }
517
+ if (state === "TASK_STATE_INPUT_REQUIRED") {
518
+ return { status: "input_required", code: "remote_input_required", message: "Remote A2A task requires input." };
519
+ }
520
+ return undefined;
521
+ }
280
522
  function resultFromStreamEvent(event) {
281
523
  if (event.payload?.$case === "message" || event.payload?.$case === "task") {
282
524
  return event.payload.value;
@@ -319,11 +561,73 @@ function normalizeConsumerError(error, context = {}) {
319
561
  return error;
320
562
  }
321
563
  const reason = error instanceof Error ? error.message : String(error);
564
+ const idempotencyFailure = classifyA2AIdempotencyTransportError(reason);
565
+ if (idempotencyFailure === "capacity_exhausted") {
566
+ return new A2AConsumerError("idempotency_capacity_exhausted", "The A2A provider's durable idempotency admission capacity is exhausted; automatic execution was refused.", { reason });
567
+ }
568
+ if (idempotencyFailure === "conflict") {
569
+ return new A2AConsumerError("idempotency_conflict", "The A2A idempotency key is already bound to a different canonical request.", { reason });
570
+ }
571
+ if (idempotencyFailure === "in_doubt") {
572
+ return new A2AConsumerError("idempotency_in_doubt", "The A2A provider has a non-terminal durable admission from a prior process and refuses automatic re-execution.", { reason });
573
+ }
574
+ if (idempotencyFailure === "result_expired") {
575
+ return new A2AConsumerError("idempotency_result_expired", "The A2A provider compacted the terminal result after retention; the logical key remains bound and was not re-executed.", { reason });
576
+ }
577
+ if (idempotencyFailure === "unsupported") {
578
+ return new A2AConsumerError("idempotency_unsupported", "The A2A provider refused the reserved key envelope because durable idempotency is not configured.", { reason });
579
+ }
580
+ if (idempotencyFailure === "invalid_key") {
581
+ return new A2AConsumerError("invalid_idempotency_key", "The A2A idempotency key was rejected by the provider.", { reason });
582
+ }
322
583
  if (/\b(401|403|UNAUTHENTICATED|Unauthorized|auth)/iu.test(reason)) {
323
584
  return new A2AConsumerError("remote_auth_required", "Remote A2A agent requires authentication.", { reason });
324
585
  }
325
586
  return new A2AConsumerError("send_failed", "A2A message send failed.", { reason });
326
587
  }
588
+ function normalizeConsumerIdempotencyKey(value) {
589
+ if (value === undefined) {
590
+ return undefined;
591
+ }
592
+ try {
593
+ return a2aIdempotencyEnvelope(value).key;
594
+ }
595
+ catch {
596
+ throw new A2AConsumerError("invalid_idempotency_key", "A2A idempotencyKey must be 1-200 ASCII letters, digits, or . _ : @ - and start with a letter or digit.", { field: "idempotencyKey" });
597
+ }
598
+ }
599
+ function normalizeHistoryLength(value) {
600
+ const historyLength = value ?? 10;
601
+ if (!Number.isSafeInteger(historyLength) || historyLength < 0) {
602
+ throw new A2AConsumerError("send_failed", "A2A historyLength must be a non-negative safe integer.", { field: "historyLength" });
603
+ }
604
+ return historyLength;
605
+ }
606
+ function requestOptionsFor(input, signal) {
607
+ return requestOptionsForIdempotency(input.idempotencyKey !== undefined, signal);
608
+ }
609
+ function requestOptionsForIdempotency(keyed, signal) {
610
+ const serviceParameters = !keyed
611
+ ? undefined
612
+ : ServiceParameters.create(withA2AExtensions(A2A_IDEMPOTENCY_EXTENSION_URI));
613
+ if (signal === undefined && serviceParameters === undefined) {
614
+ return undefined;
615
+ }
616
+ return {
617
+ ...(signal === undefined ? {} : { signal }),
618
+ ...(serviceParameters === undefined ? {} : { serviceParameters }),
619
+ };
620
+ }
621
+ function assertIdempotencySupported(card) {
622
+ const extensions = card.capabilities?.extensions;
623
+ const extension = Array.isArray(extensions)
624
+ ? extensions.find((candidate) => isRecord(candidate) && candidate.uri === A2A_IDEMPOTENCY_EXTENSION_URI)
625
+ : undefined;
626
+ if (extension?.params?.schemaVersion !== A2A_IDEMPOTENCY_SCHEMA_VERSION
627
+ || extension.params.metadataKey !== A2A_IDEMPOTENCY_METADATA_KEY) {
628
+ throw new A2AConsumerError("idempotency_unsupported", "Remote A2A Agent Card does not advertise the mono-agent logical dispatch idempotency extension; refusing a keyed send.", { extensionUri: A2A_IDEMPOTENCY_EXTENSION_URI });
629
+ }
630
+ }
327
631
  function assertAgentCard(card, agentUrl) {
328
632
  if (!isRecord(card) || typeof card.name !== "string" || !Array.isArray(card.supportedInterfaces)) {
329
633
  throw new A2AConsumerError("invalid_agent_card", "A2A discovery returned an invalid Agent Card.", {
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,IAAI,EACJ,SAAS,GAQV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,sBAAsB,EACtB,oCAAoC,EACpC,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAgG1B,MAAM,OAAO,WAAW;IACb,SAAS,CAAY;IACb,MAAM,CAAS;IACf,QAAQ,CAAS;IACjB,SAAS,CAAqB;IAC9B,iBAAiB,CAGlB;IAEhB,YAAY,KASX;QACC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAkC;QAClD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACtE,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAChD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;oBAChC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,YAAY,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;gBACxE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,kBAAkB,CAAC,MAAM,EAAE;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY,EAAE,KAAK,CAAC,iBAAiB,KAAK,IAAI;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,sBAAsB,CAAC,KAAK,EAAE;gBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc;aACf,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAsC;QAEtC,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,EACzB,iDAAiD,EACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,uBAAuB,CAAC;YAC3D,GAAG,KAAK;YACR,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;YACzD,iBAAiB,EAAE,IAAI;YACvB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,OAAO,IAAI,yBAAyB,CAAC;YACnC,OAAO;YACP,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;gBACrE,iBAAiB,EAAE,KAAK;gBACxB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpE,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;aAC9E,CAAC;YACF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAoB;QACnD,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAA2B,CAAC;QACvF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7F,OAAO,kBAAkB,CAAC,IAAI,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC5C,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,OAA2B,EAC3B,UAIC;QAED,MAAM,cAAc,GAAG,iBAAiB,CACtC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CACvC,CAAC;QACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACtE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC5B,CAAC;YACD,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CACrC,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAChE,OAAO,CACR,CAAC;YACF,OAAO,kBAAkB,CAAC,MAAM,EAAE;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY,EAAE,IAAI;gBAClB,qBAAqB,EAAE,IAAI;gBAC3B,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,sBAAsB,CAAC,KAAK,EAAE;gBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc;aACf,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,MAAc,EACd,MAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAA2B,CAAC;QACvF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS;gBACjD,CAAC,CAAC,IAAI,CAAC,MAAM;gBACb,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACxF,OAAO,kBAAkB,CAAC,IAAI,EAAE;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY,EAAE,IAAI;gBAClB,qBAAqB,EAAE,IAAI;gBAC3B,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,OAA2B,EAC3B,OAAmC;QAEnC,IAAI,MAAqC,CAAC;QAC1C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACrE,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,EACpB,oDAAoD,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,EAAE;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA2B;IAE3B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;QAChC,UAAU,EAAE;YACV,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;YACvC,IAAI,uBAAuB,CAAC,EAAE,SAAS,EAAE,CAAC;SAC3C;QACD,mBAAmB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QACnF,YAAY,EAAE;YACZ,mBAAmB,EAAE,CAAC,YAAY,CAAC;SACpC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO,IAAI,WAAW,CAAC;QACrB,MAAM;QACN,SAAS;QACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;gBAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS;gBACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO;gBACL,SAAS,EAAE,aAAa;gBACxB,MAAM,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC;aACzD,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KAC7E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAItC;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,iCAAiC,EAAE;YAChF,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9D,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,iCAAiC,EAAE;YAChF,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAa,CAAC;IAC9C,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAuD;IAEvD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA2D;IAE3D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAoC;IAEpC,IAAI,eAAiD,CAAC;IACtD,MAAM,WAAW,GAAG,GAAyB,EAAE;QAC7C,eAAe,KAAK,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;YAC3B,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;gBAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,cAAc;gBACjC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC3D,MAAM,EAAE,OAAO,CAAC,WAAW;gBAC3B,MAAM,EAAE,OAAO,CAAC,YAAY,KAAK,IAAI;aACtC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAkC;IACjE,MAAM,cAAc,GAAG,+BAA+B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC;QAC3C,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;QAC1B,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;KAC3F,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,EACzB,4BAA4B,4BAA4B,4CAA4C,CACrG,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,4BAA4B,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACL,MAAM,EAAE,EAAE;QACV,OAAO;QACP,aAAa,EAAE;YACb,mBAAmB,EAAE,CAAC,YAAY,CAAC;YACnC,0BAA0B,EAAE,SAAS;YACrC,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1D,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,KAAK,IAAI;SACpD;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA2B;IACvD,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CACxB,aAAa,EACb,iFAAiF,EACjF,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,OAA2B,EAC3B,iBAA0B;IAE1B,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,gBAAgB,CACxB,aAAa,EACb,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,aAAa,EAAE;YACb,GAAG,OAAO,CAAC,aAAa;YACxB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAKpB;IACC,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU,EAAE;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,IAAI,CAAC,SAAS;QACpB,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO;QACL,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;QACvC,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB;IAC3C,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,uCAAuC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAyB,EACzB,OAOC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,KAAK,IAAI;YACpD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,IACE,IAAI,KAAK,SAAS;eACf,OAAO,CAAC,kBAAkB,KAAK,IAAI;eACnC,CAAC,OAAO,CAAC,YAAY;eACrB,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,oBAAoB,EAC1D,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,EACpB,gDAAgD,EAChD,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CACtB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,cAAc,EAAE,OAAO,CAAC,QAAQ;oBAChC,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,MAAM,EAAE,MAAM,CAAC,EAAE;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,EACpB,iDAAiD,EACjD,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAChC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,QAAQ,EAAE;YACR,GAAG,EAAE;gBACH,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAU;IAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,OAA4B;IACnD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAwB;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,aAAsB;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IACjC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,IAAI,IAAI,yBAAyB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9D,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,IAAI,+BAA+B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,IAAI,+BAA+B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,CAAC,wBAAwB,EAAE,CAAC;QACjD,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,IAAI,0CAA0C,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,CAAC,yBAAyB,EAAE,CAAC;QAClD,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,IAAI,iCAAiC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,yBAAyB;IACrB,eAAe,CAAsB;IAC5B,OAAO,CAEU;IACjB,UAAU,CAGO;IAElC,YAAY,KASX;QACC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAA+C;QAE/C,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAA0C;QAE1C,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gBAAgB,CACxB,aAAa,EACb,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,MAAM,eAAe,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAC/B,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACvE,CAAC;IACJ,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,QAA6B;IAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,QAAQ;QACR,KAAK,EAAE,IAAI,gBAAgB,CACzB,eAAe,CAAC,IAAI,EACpB,QAAQ,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,EACxC;YACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;gBAC5C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7C,KAAK;SACN,CACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAA6B;IAC3D,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,gBAAgB,CACxB,aAAa,EACb,4DAA4D,EAC5D;QACE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;KAC5C,CACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAK5C,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACpC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,KAAK,0BAA0B,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;IACxH,CAAC;IACD,IAAI,KAAK,KAAK,2BAA2B,EAAE,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACjH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAqB;IAClD,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,cAAc,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;YAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;YACxC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;YAClC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;YAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS;YACxC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC3F,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,QAAQ,IAAI,MAAM,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc,EACd,UAGI,EAAE;IAEN,IAAI,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;QACnD,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;YAChE,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,kBAAkB,KAAK,oBAAoB,EAAE,CAAC;QAChD,OAAO,IAAI,gBAAgB,CACzB,gCAAgC,EAChC,0GAA0G,EAC1G,EAAE,MAAM,EAAE,CACX,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,CACzB,sBAAsB,EACtB,4EAA4E,EAC5E,EAAE,MAAM,EAAE,CACX,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,CACzB,sBAAsB,EACtB,gHAAgH,EAChH,EAAE,MAAM,EAAE,CACX,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;QAC5C,OAAO,IAAI,gBAAgB,CACzB,4BAA4B,EAC5B,wHAAwH,EACxH,EAAE,MAAM,EAAE,CACX,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO,IAAI,gBAAgB,CACzB,yBAAyB,EACzB,mGAAmG,EACnG,EAAE,MAAM,EAAE,CACX,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO,IAAI,gBAAgB,CAAC,yBAAyB,EAAE,uDAAuD,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,iDAAiD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,2CAA2C,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAyB;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,EACzB,wGAAwG,EACxG,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAyB;IACvD,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,gBAAgB,CACxB,aAAa,EACb,wDAAwD,EACxD,EAAE,KAAK,EAAE,eAAe,EAAE,CAC3B,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAkC,EAClC,MAA+B;IAE/B,OAAO,4BAA4B,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,MAAM,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAc,EACd,MAA+B;IAE/B,MAAM,iBAAiB,GAAG,CAAC,KAAK;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC/E,IAAI,MAAM,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAe;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,GAAG,KAAK,6BAA6B,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IACd,IACE,SAAS,EAAE,MAAM,EAAE,aAAa,KAAK,8BAA8B;WAChE,SAAS,CAAC,MAAM,CAAC,WAAW,KAAK,4BAA4B,EAChE,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,EACzB,wHAAwH,EACxH,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAChD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAa,EAAE,QAAgB;IACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,+CAA+C,EAAE;YAChG,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,8BAA8B,CAAC;IACxF,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,SAAuB,EAAE,WAA+B;IAC3E,MAAM,KAAK,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE;YAC5B,GAAG,IAAI;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AASD,SAAS,iBAAiB,CAAC,MAA+B,EAAE,SAA6B;IACvF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM;YACN,SAAS;YACT,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,GAA8C,UAAU,CAAC,GAAG,EAAE;QACvE,OAAO,GAAG,SAAS,CAAC;QACpB,UAAU,GAAG,IAAI,CAAC;QAClB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,+BAA+B,SAAS,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,KAAK,EAAE,CAAC;QACR,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,cAAc,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS;QACT,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;QAC1B,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,SAA6B;IACnD,OAAO,SAAS,KAAK,SAAS;QAC5B,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,+BAA+B,SAAS,KAAK,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type A2AProviderErrorCode = "invalid_config" | "missing_required_config" | "start_failed" | "unsupported_input" | "unsafe_host";
1
+ export type A2AProviderErrorCode = "idempotency_store_error" | "invalid_config" | "invalid_idempotency_key" | "missing_required_config" | "start_failed" | "unsupported_input" | "unsafe_host";
2
2
  export interface A2AProviderErrorDetails {
3
3
  readonly code?: A2AProviderErrorCode;
4
4
  readonly reason?: string;
@@ -9,7 +9,7 @@ export declare class A2AProviderError extends Error {
9
9
  readonly details: A2AProviderErrorDetails;
10
10
  constructor(code: A2AProviderErrorCode, message: string, details?: A2AProviderErrorDetails);
11
11
  }
12
- export type A2AConsumerErrorCode = "discovery_failed" | "empty_a2a_response" | "invalid_agent_card" | "remote_auth_required" | "remote_canceled" | "remote_failed" | "remote_input_required" | "remote_rejected" | "send_failed" | "timeout";
12
+ export type A2AConsumerErrorCode = "discovery_failed" | "empty_a2a_response" | "idempotency_conflict" | "idempotency_capacity_exhausted" | "idempotency_in_doubt" | "idempotency_result_expired" | "idempotency_unsupported" | "invalid_agent_card" | "invalid_idempotency_key" | "remote_auth_required" | "remote_canceled" | "remote_failed" | "remote_input_required" | "remote_rejected" | "send_failed" | "timeout";
13
13
  export interface A2AConsumerErrorDetails {
14
14
  readonly code?: A2AConsumerErrorCode;
15
15
  readonly reason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAGxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B;CAOxC;AAED,MAAM,MAAM,oBAAoB,GAC5B,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,iBAAiB,GACjB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAGxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B;CAOxC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,cAAc,GACd,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAGxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B;CAOxC;AAED,MAAM,MAAM,oBAAoB,GAC5B,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,GACtB,gCAAgC,GAChC,sBAAsB,GACtB,4BAA4B,GAC5B,yBAAyB,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,iBAAiB,GACjB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAGxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B;CAOxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,OAAO,CAA0B;IAE1C,YACE,IAA0B,EAC1B,OAAe,EACf,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;CACF;AAoBD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,OAAO,CAA0B;IAE1C,YACE,IAA0B,EAC1B,OAAe,EACf,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,OAAO,CAA0B;IAE1C,YACE,IAA0B,EAC1B,OAAe,EACf,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;CACF;AA0BD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,OAAO,CAA0B;IAE1C,YACE,IAA0B,EAC1B,OAAe,EACf,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ import { type A2ARequestHandler, type TaskStore } from "@a2a-js/sdk/server";
2
+ export declare const A2A_IDEMPOTENCY_METADATA_KEY = "mono-agent.dev/a2a-idempotency/v1";
3
+ export declare const A2A_IDEMPOTENCY_SCHEMA_VERSION = 1;
4
+ export declare const A2A_IDEMPOTENCY_EXTENSION_URI = "https://mono-agent.dev/extensions/a2a-idempotency/v1";
5
+ export interface A2AProviderIdempotencyOptions {
6
+ /** Owner-only durable record directory. */
7
+ readonly stateDir: string;
8
+ /** Stable provider/principal identity; never derive it from URLs or secrets. */
9
+ readonly namespace: string;
10
+ /** Terminal receipt retention. Must exceed every caller retry horizon. */
11
+ readonly retentionMs?: number;
12
+ /** Hard admission capacity; exhaustion fails closed without eviction. */
13
+ readonly maxRecords?: number;
14
+ }
15
+ export type A2AIdempotencyFailureKind = "capacity_exhausted" | "conflict" | "in_doubt" | "invalid_key" | "result_expired" | "unsupported";
16
+ interface IdempotencyEnvelope {
17
+ readonly schemaVersion: 1;
18
+ readonly key: string;
19
+ }
20
+ export declare function createIdempotentA2ARequestHandler(input: {
21
+ readonly delegate: A2ARequestHandler;
22
+ readonly taskStore: TaskStore;
23
+ readonly options: A2AProviderIdempotencyOptions;
24
+ readonly logger?: {
25
+ warn?(message: string, metadata?: Record<string, unknown>): void;
26
+ error?(message: string, metadata?: Record<string, unknown>): void;
27
+ };
28
+ }): Promise<A2ARequestHandler>;
29
+ export declare function validateA2AProviderIdempotencyOptions(options: A2AProviderIdempotencyOptions): void;
30
+ export declare function guardUnsupportedA2AIdempotency(delegate: A2ARequestHandler): A2ARequestHandler;
31
+ export declare function normalizeA2AIdempotencyKey(value: string): string;
32
+ export declare function a2aIdempotencyEnvelope(key: string): IdempotencyEnvelope;
33
+ export declare function stableA2AMessageId(key: string): string;
34
+ export declare function defaultA2AIdempotencyStateDir(cwd: string, namespace: string): string;
35
+ export declare function classifyA2AIdempotencyTransportError(reason: string): A2AIdempotencyFailureKind | undefined;
36
+ export {};
37
+ //# sourceMappingURL=idempotency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"AAwBA,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAChF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AAmBpG,MAAM,WAAW,6BAA6B;IAC5C,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,UAAU,GACV,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,aAAa,CAAC;AAElB,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAqED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACjE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACnE,CAAC;CACH,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAa7B;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,6BAA6B,GACrC,IAAI,CAWN;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,GAC1B,iBAAiB,CAEnB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAKvE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIpF;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAuB1G"}