@koda-sl/baker-bridge 0.147.0-dev.ad499429a → 0.148.0-dev.5b9952021

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 (42) hide show
  1. package/README.md +21 -2
  2. package/dist/hono/agent-session.d.ts +0 -1
  3. package/dist/hono/agent-session.d.ts.map +1 -1
  4. package/dist/hono/agent-session.js +0 -7
  5. package/dist/hono/agent-session.js.map +1 -1
  6. package/dist/hono/agent-session.test.js +1 -7
  7. package/dist/hono/agent-session.test.js.map +1 -1
  8. package/dist/hono/agent.d.ts.map +1 -1
  9. package/dist/hono/agent.js +1 -7
  10. package/dist/hono/agent.js.map +1 -1
  11. package/dist/hono/bridge-job.d.ts +7 -1
  12. package/dist/hono/bridge-job.d.ts.map +1 -1
  13. package/dist/hono/bridge-job.js +111 -12
  14. package/dist/hono/bridge-job.js.map +1 -1
  15. package/dist/hono/bridge-job.test.js +153 -2
  16. package/dist/hono/bridge-job.test.js.map +1 -1
  17. package/dist/hono/served-model.d.ts +23 -0
  18. package/dist/hono/served-model.d.ts.map +1 -0
  19. package/dist/hono/served-model.js +81 -0
  20. package/dist/hono/served-model.js.map +1 -0
  21. package/dist/hono/served-model.test.d.ts +2 -0
  22. package/dist/hono/served-model.test.d.ts.map +1 -0
  23. package/dist/hono/served-model.test.js +29 -0
  24. package/dist/hono/served-model.test.js.map +1 -0
  25. package/dist/hono/session-continuity.d.ts +24 -0
  26. package/dist/hono/session-continuity.d.ts.map +1 -1
  27. package/dist/hono/session-continuity.integration.test.js +200 -5
  28. package/dist/hono/session-continuity.integration.test.js.map +1 -1
  29. package/dist/hono/session-continuity.js +94 -7
  30. package/dist/hono/session-continuity.js.map +1 -1
  31. package/dist/hono/session-store.d.ts +2 -0
  32. package/dist/hono/session-store.d.ts.map +1 -1
  33. package/dist/hono/session-store.js +6 -0
  34. package/dist/hono/session-store.js.map +1 -1
  35. package/dist/hono/session-usage-baseline.d.ts +1 -0
  36. package/dist/hono/session-usage-baseline.d.ts.map +1 -1
  37. package/dist/hono/session-usage-baseline.js +17 -4
  38. package/dist/hono/session-usage-baseline.js.map +1 -1
  39. package/dist/hono/turn-events.d.ts +1 -1
  40. package/dist/hono/turn-events.d.ts.map +1 -1
  41. package/dist/hono/turn-events.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Keeps a resumed conversation's earlier thinking, so a new turn re-reads the
3
+ * cached conversation instead of writing it again.
4
+ *
5
+ * The turn asks for the Anthropic-native id (`claude-opus-5-5`) and OpenRouter
6
+ * answers under its own slug (`anthropic/claude-opus-5.5`); the CLI stores the
7
+ * answer's `message.model`. It treats thinking from a model other than the one
8
+ * it is calling as foreign and leaves it out, and learns that the slug is the
9
+ * same model only from a response it received itself, in memory. Every turn here
10
+ * resumes in a new CLI, so its first request left out every earlier thinking
11
+ * block and the second put them back: the prompt cache broke right after the
12
+ * system prompt twice a turn (measured against the CLI bundled in SDK 0.3.295).
13
+ *
14
+ * Only a spelling of the requested model is rewritten. A response a different
15
+ * model really served keeps its name, so the CLI still drops its thinking.
16
+ */
17
+ export declare function withRequestedModels(transcript: string): string | undefined;
18
+ /**
19
+ * Rewrites `sessionId`'s transcript before a CLI resumes it. Best effort: a
20
+ * transcript it cannot read or write costs the cache, never the turn.
21
+ */
22
+ export declare function alignServedModels(sessionId: string, configDir: string): Promise<void>;
23
+ //# sourceMappingURL=served-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"served-model.d.ts","sourceRoot":"","sources":["../../src/hono/served-model.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc1E;AAuBD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3F"}
@@ -0,0 +1,81 @@
1
+ import { readFile, rename, writeFile } from "node:fs/promises";
2
+ import { normalizeModel } from "./model-capabilities.js";
3
+ import { sessionTranscriptPath } from "./session-usage-baseline.js";
4
+ /**
5
+ * Keeps a resumed conversation's earlier thinking, so a new turn re-reads the
6
+ * cached conversation instead of writing it again.
7
+ *
8
+ * The turn asks for the Anthropic-native id (`claude-opus-5-5`) and OpenRouter
9
+ * answers under its own slug (`anthropic/claude-opus-5.5`); the CLI stores the
10
+ * answer's `message.model`. It treats thinking from a model other than the one
11
+ * it is calling as foreign and leaves it out, and learns that the slug is the
12
+ * same model only from a response it received itself, in memory. Every turn here
13
+ * resumes in a new CLI, so its first request left out every earlier thinking
14
+ * block and the second put them back: the prompt cache broke right after the
15
+ * system prompt twice a turn (measured against the CLI bundled in SDK 0.3.295).
16
+ *
17
+ * Only a spelling of the requested model is rewritten. A response a different
18
+ * model really served keeps its name, so the CLI still drops its thinking.
19
+ */
20
+ export function withRequestedModels(transcript) {
21
+ let changed = false;
22
+ const lines = transcript.split("\n").map((line) => {
23
+ if (!line.includes('"requestedModel"')) {
24
+ return line;
25
+ }
26
+ const aligned = alignedLine(line);
27
+ if (aligned === undefined) {
28
+ return line;
29
+ }
30
+ changed = true;
31
+ return aligned;
32
+ });
33
+ return changed ? lines.join("\n") : undefined;
34
+ }
35
+ function alignedLine(line) {
36
+ let entry;
37
+ try {
38
+ entry = JSON.parse(line);
39
+ }
40
+ catch {
41
+ return undefined;
42
+ }
43
+ if (!isRecord(entry) || entry.type !== "assistant" || typeof entry.requestedModel !== "string") {
44
+ return undefined;
45
+ }
46
+ const message = entry.message;
47
+ if (!isRecord(message) || typeof message.model !== "string") {
48
+ return undefined;
49
+ }
50
+ const requested = entry.requestedModel;
51
+ if (message.model === requested || normalizeModel(message.model) !== normalizeModel(requested)) {
52
+ return undefined;
53
+ }
54
+ return JSON.stringify({ ...entry, message: { ...message, model: requested } });
55
+ }
56
+ /**
57
+ * Rewrites `sessionId`'s transcript before a CLI resumes it. Best effort: a
58
+ * transcript it cannot read or write costs the cache, never the turn.
59
+ */
60
+ export async function alignServedModels(sessionId, configDir) {
61
+ const path = await sessionTranscriptPath(sessionId, configDir);
62
+ if (!path) {
63
+ return;
64
+ }
65
+ try {
66
+ const aligned = withRequestedModels(await readFile(path, "utf8"));
67
+ if (aligned === undefined) {
68
+ return;
69
+ }
70
+ const staged = `${path}.served-model.tmp`;
71
+ await writeFile(staged, aligned, "utf8");
72
+ await rename(staged, path);
73
+ }
74
+ catch (error) {
75
+ console.warn(`[BridgeJob] could not align the served model in ${sessionId}: ${error instanceof Error ? error.message : String(error)}`);
76
+ }
77
+ }
78
+ function isRecord(value) {
79
+ return typeof value === "object" && value !== null && !Array.isArray(value);
80
+ }
81
+ //# sourceMappingURL=served-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"served-model.js","sourceRoot":"","sources":["../../src/hono/served-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=served-model.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"served-model.test.d.ts","sourceRoot":"","sources":["../../src/hono/served-model.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { withRequestedModels } from "./served-model.js";
3
+ // The shape the CLI writes for a response OpenRouter served: the request named
4
+ // the Anthropic-native id, the response came back under OpenRouter's slug.
5
+ function assistantLine(model, requestedModel, content) {
6
+ return JSON.stringify({
7
+ type: "assistant",
8
+ uuid: `u_${content.length}`,
9
+ requestedModel,
10
+ message: { id: "msg_1", role: "assistant", model, content },
11
+ });
12
+ }
13
+ const THINKING = { type: "thinking", thinking: "plan the page", signature: "EqQBCkgIARAB" };
14
+ describe("withRequestedModels", () => {
15
+ it("records a response OpenRouter served under its own slug as the model the turn asked for", () => {
16
+ const user = JSON.stringify({ type: "user", message: { role: "user", content: "make a landing" } });
17
+ const transcript = [user, assistantLine("anthropic/claude-opus-5.5", "claude-opus-5-5", [THINKING]), ""].join("\n");
18
+ const aligned = withRequestedModels(transcript);
19
+ const lines = aligned?.split("\n") ?? [];
20
+ expect(lines[0]).toBe(user);
21
+ expect(JSON.parse(lines[1] ?? "{}").message.model).toBe("claude-opus-5-5");
22
+ expect(lines[2]).toBe("");
23
+ });
24
+ it("leaves a response another model served under its own name, so its thinking stays out", () => {
25
+ const transcript = assistantLine("anthropic/claude-sonnet-5.5", "claude-opus-5-5", [THINKING]);
26
+ expect(withRequestedModels(transcript)).toBeUndefined();
27
+ });
28
+ });
29
+ //# sourceMappingURL=served-model.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"served-model.test.js","sourceRoot":"","sources":["../../src/hono/served-model.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,+EAA+E;AAC/E,2EAA2E;AAC3E,SAAS,aAAa,CAAC,KAAa,EAAE,cAAsB,EAAE,OAAkB;IAC9E,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE;QAC3B,cAAc;QACd,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AAE5F,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,2BAA2B,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpH,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,UAAU,GAAG,aAAa,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/F,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -7,6 +7,11 @@ export type InProgressSession = {
7
7
  resumeSessionAt?: string;
8
8
  sawSessionId: boolean;
9
9
  sawCleanResult: boolean;
10
+ cancelPoint?: {
11
+ sessionId: string;
12
+ uuid: string;
13
+ };
14
+ pendingToolUseIds?: readonly string[];
10
15
  };
11
16
  export type SessionAttempt = {
12
17
  prompt: string;
@@ -77,6 +82,24 @@ export declare function compactionRetryAttempt(attempt: SessionAttempt, inProgre
77
82
  */
78
83
  export declare function isContextOverflowError(error: unknown): boolean;
79
84
  export declare function observeInProgressSession(inProgress: InProgressSession, msg: SDKMessage): InProgressSession;
85
+ /**
86
+ * Where the next turn resumes after this one was cancelled: the cancelled turn's
87
+ * own session, up to the last entry it completed. A cancel stops the turn, not
88
+ * the conversation, so what the turn already read stays in it; only the tool
89
+ * call still waiting for its result is dropped, since a session ending on an
90
+ * unanswered tool call cannot be resumed. Before the turn completed anything,
91
+ * the session it resumed still holds, because every turn runs in a fork and
92
+ * never writes to it — but that session never received the cancelled request,
93
+ * so the request rides along as `unansweredRequest`. Undefined when the turn
94
+ * resumed no session: the next turn is rebuilt from the chat history, which
95
+ * has the request.
96
+ */
97
+ export declare function buildCancelBoundary(input: {
98
+ inProgress: InProgressSession;
99
+ resumed?: ClaudeSessionBoundary;
100
+ request?: string;
101
+ nowMs: number;
102
+ }): ClaudeSessionBoundary | undefined;
80
103
  export declare function buildCleanBoundary(input: {
81
104
  inProgress: InProgressSession;
82
105
  nowMs: number;
@@ -90,5 +113,6 @@ export declare function formatSenderLabel(sender: DispatchSender): string;
90
113
  * the chat UI — it only rides along in the prompt sent to the model.
91
114
  */
92
115
  export declare function applyCurrentSenderAttribution(content: string, sender?: DispatchSender): string;
116
+ export declare function isCliResumeRefusal(error: unknown): boolean;
93
117
  export declare function isResumeSessionError(error: unknown): boolean;
94
118
  //# sourceMappingURL=session-continuity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-continuity.d.ts","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-continuity.d.ts","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,16 @@ class FakeQuery {
36
36
  steps;
37
37
  closeCalls = 0;
38
38
  blocked = new Deferred();
39
+ permissionOutcomes = [];
39
40
  closed = false;
40
41
  releaseBlock;
42
+ options;
41
43
  constructor(steps) {
42
44
  this.steps = steps;
43
45
  }
46
+ bind(options) {
47
+ this.options = options;
48
+ }
44
49
  close() {
45
50
  this.closeCalls += 1;
46
51
  this.closed = true;
@@ -66,6 +71,19 @@ class FakeQuery {
66
71
  }
67
72
  continue;
68
73
  }
74
+ if (isPermissionStep(step)) {
75
+ const decision = this.options?.canUseTool?.(step.toolName, step.input, {
76
+ signal: new AbortController().signal,
77
+ toolUseID: step.toolUseId,
78
+ requestId: `request_${step.toolUseId}`,
79
+ });
80
+ this.blocked.resolve();
81
+ this.permissionOutcomes.push(await decision?.catch((error) => error));
82
+ if (this.closed) {
83
+ return;
84
+ }
85
+ continue;
86
+ }
69
87
  await Promise.resolve();
70
88
  yield step;
71
89
  }
@@ -85,6 +103,7 @@ class FakeSdk {
85
103
  if (!next) {
86
104
  throw new Error("No fake SDK query queued");
87
105
  }
106
+ next.bind(input.options);
88
107
  return next;
89
108
  }
90
109
  }
@@ -179,7 +198,7 @@ describe("bridge session continuity integration", () => {
179
198
  expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ threadId: "thread_tool_batch", isError: false }));
180
199
  expect(visibleCallbackText(harness.callbacks)).not.toMatch(/API Error: 400 due to tool use concurrency/i);
181
200
  });
182
- it("aborts during a dirty tool batch, clears continuity, and rehydrates the next turn without resume", async () => {
201
+ it("a cancel before the turn completed anything keeps the previous turn's boundary for the next turn", async () => {
183
202
  const harness = await createHarness();
184
203
  await harness.writeSessionFile("thread_abort_dirty", {
185
204
  version: 2,
@@ -203,7 +222,10 @@ describe("bridge session continuity integration", () => {
203
222
  });
204
223
  expect(harness.abortSession("thread_abort_dirty")).toBe(true);
205
224
  await firstTurn;
206
- await expect(harness.readSessionFile("thread_abort_dirty")).resolves.toBeUndefined();
225
+ await expect(harness.readSessionFile("thread_abort_dirty")).resolves.toMatchObject({
226
+ sessionId: "session_prior_abort",
227
+ resumeSessionAt: "assistant_prior_abort",
228
+ });
207
229
  expect(dirtyQuery.closeCalls).toBeGreaterThan(0);
208
230
  await harness.processAsync({
209
231
  threadId: "thread_abort_dirty",
@@ -211,8 +233,124 @@ describe("bridge session continuity integration", () => {
211
233
  prompt: "Continue after abort",
212
234
  history: history([{ role: "user", text: "Start tool work", createdAt: 1 }]),
213
235
  });
214
- expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
215
- expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nContinue after abort");
236
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
237
+ resume: "session_prior_abort",
238
+ forkSession: true,
239
+ resumeSessionAt: "assistant_prior_abort",
240
+ });
241
+ const nextPrompt = await promptText(harness.sdk.queries[1]?.prompt);
242
+ expect(nextPrompt).toContain("Start tool work");
243
+ expect(nextPrompt).toContain("Continue after abort");
244
+ });
245
+ it("two quick cancels in a row carry both stopped requests under one current request", async () => {
246
+ const harness = await createHarness();
247
+ await harness.writeSessionFile("thread_abort_twice", {
248
+ version: 2,
249
+ sessionId: "session_prior_twice",
250
+ resumeSessionAt: "assistant_prior_twice",
251
+ updatedAtMs: 100,
252
+ });
253
+ const firstQuery = harness.sdk.enqueue(systemSession("session_first_stop"), { type: "block" });
254
+ const secondQuery = harness.sdk.enqueue(systemSession("session_second_stop"), { type: "block" });
255
+ harness.sdk.enqueue(resultMessage("session_after_twice", 0.2));
256
+ const firstTurn = harness.processAsync({
257
+ threadId: "thread_abort_twice",
258
+ turnId: "turn_twice_1",
259
+ prompt: "Make a video ad",
260
+ history: history([]),
261
+ });
262
+ await firstQuery.blocked.promise;
263
+ expect(harness.abortSession("thread_abort_twice")).toBe(true);
264
+ await firstTurn;
265
+ const secondTurn = harness.processAsync({
266
+ threadId: "thread_abort_twice",
267
+ turnId: "turn_twice_2",
268
+ prompt: "Make it thirty seconds",
269
+ history: history([{ role: "user", text: "Make a video ad", createdAt: 1 }]),
270
+ });
271
+ await secondQuery.blocked.promise;
272
+ expect(harness.abortSession("thread_abort_twice")).toBe(true);
273
+ await secondTurn;
274
+ await harness.processAsync({
275
+ threadId: "thread_abort_twice",
276
+ turnId: "turn_twice_3",
277
+ prompt: "And use the summer palette",
278
+ history: history([
279
+ { role: "user", text: "Make a video ad", createdAt: 1 },
280
+ { role: "user", text: "Make it thirty seconds", createdAt: 2 },
281
+ ]),
282
+ });
283
+ const thirdPrompt = await promptText(harness.sdk.queries[2]?.prompt);
284
+ expect(thirdPrompt.match(/--- Current user request/g)).toHaveLength(1);
285
+ expect(thirdPrompt.indexOf("Make a video ad")).toBeLessThan(thirdPrompt.indexOf("Make it thirty seconds"));
286
+ expect(thirdPrompt.indexOf("Make it thirty seconds")).toBeLessThan(thirdPrompt.indexOf("--- Current user request"));
287
+ expect(thirdPrompt.split("--- Current user request")[1]).toContain("And use the summer palette");
288
+ });
289
+ it("resumes a cancelled turn's own session at the last entry it completed, dropping the unanswered tool call", async () => {
290
+ const harness = await createHarness();
291
+ await harness.writeSessionFile("thread_cancel_keeps_work", {
292
+ version: 2,
293
+ sessionId: "session_prior_cancel",
294
+ resumeSessionAt: "assistant_prior_cancel",
295
+ updatedAtMs: 100,
296
+ });
297
+ const cancelledQuery = harness.sdk.enqueue(systemSession("session_cancelled"), toolUseMessage("assistant_read", "toolu_read", "session_cancelled"), toolResultMessage("user_read_result", "toolu_read", "session_cancelled"), toolUseMessage("assistant_second_read", "toolu_second_read", "session_cancelled"), { type: "block" });
298
+ harness.sdk.enqueue(resultMessage("session_after_cancel", 0.2));
299
+ const cancelledTurn = harness.processAsync({
300
+ threadId: "thread_cancel_keeps_work",
301
+ turnId: "turn_cancel_1",
302
+ prompt: "Read the account",
303
+ history: history([]),
304
+ });
305
+ await cancelledQuery.blocked.promise;
306
+ expect(harness.abortSession("thread_cancel_keeps_work")).toBe(true);
307
+ await cancelledTurn;
308
+ await harness.processAsync({
309
+ threadId: "thread_cancel_keeps_work",
310
+ turnId: "turn_cancel_2",
311
+ prompt: "Only the Valencia account",
312
+ history: history([{ role: "user", text: "Read the account", createdAt: 1 }]),
313
+ });
314
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
315
+ resume: "session_cancelled",
316
+ forkSession: true,
317
+ resumeSessionAt: "user_read_result",
318
+ });
319
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).not.toContain("Current user request");
320
+ expect(harness.callbacks.contexts).toContainEqual(expect.objectContaining({ turnId: "turn_cancel_2", source: "local_resume" }));
321
+ });
322
+ it("a plan approval that replaces the turn waiting on ExitPlanMode resumes it with the planning reads kept", async () => {
323
+ const harness = await createHarness();
324
+ const planningQuery = harness.sdk.enqueue(systemSession("session_planning"), toolUseMessage("assistant_plan_read", "toolu_plan_read", "session_planning"), toolResultMessage("user_plan_read_result", "toolu_plan_read", "session_planning"), toolUseMessage("assistant_exit_plan", "toolu_exit_plan", "session_planning", "ExitPlanMode"), {
325
+ type: "permission",
326
+ toolName: "ExitPlanMode",
327
+ toolUseId: "toolu_exit_plan",
328
+ input: { plan: "1. Pause the campaign" },
329
+ });
330
+ harness.sdk.enqueue(resultMessage("session_implementing", 0.3));
331
+ const planningTurn = harness.processAsync({
332
+ threadId: "thread_plan_approval",
333
+ turnId: "turn_plan_1",
334
+ prompt: "Plan the campaign changes",
335
+ history: history([]),
336
+ planMode: true,
337
+ });
338
+ await harness.planReviewPosted;
339
+ await harness.processAsync({
340
+ threadId: "thread_plan_approval",
341
+ turnId: "turn_plan_2",
342
+ prompt: "I approve the plan below. Plan mode is over — implement it now.",
343
+ history: history([{ role: "user", text: "Plan the campaign changes", createdAt: 1 }]),
344
+ });
345
+ await planningTurn;
346
+ expect(harness.sdk.queries[0]?.options).toMatchObject({ permissionMode: "plan" });
347
+ expect(planningQuery.permissionOutcomes).toEqual([new Error("ExitPlanMode aborted")]);
348
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
349
+ resume: "session_planning",
350
+ forkSession: true,
351
+ resumeSessionAt: "user_plan_read_result",
352
+ });
353
+ expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ turnId: "turn_plan_2", isError: false }));
216
354
  });
217
355
  it("replacement during a dirty stream does not resume the replaced turn's in-progress session", async () => {
218
356
  const harness = await createHarness();
@@ -244,7 +382,11 @@ describe("bridge session continuity integration", () => {
244
382
  resumeSessionAt: "assistant_prior_replace",
245
383
  });
246
384
  expect(dirtyQuery.closeCalls).toBeGreaterThan(0);
247
- expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
385
+ expect(harness.sdk.queries[1]?.options).toMatchObject({
386
+ resume: "session_prior_replace",
387
+ resumeSessionAt: "assistant_prior_replace",
388
+ });
389
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Start long work");
248
390
  await expect(harness.readSessionFile("thread_replace_dirty")).resolves.toMatchObject({
249
391
  version: 2,
250
392
  sessionId: "session_replacement",
@@ -283,6 +425,27 @@ describe("bridge session continuity integration", () => {
283
425
  expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
284
426
  expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nRecover");
285
427
  });
428
+ it("rebuilds the turn from history when the CLI cannot find the entry the boundary resumes at", async () => {
429
+ const harness = await createHarness();
430
+ await harness.writeSessionFile("thread_missing_entry", {
431
+ version: 2,
432
+ sessionId: "session_cancelled_unflushed",
433
+ resumeSessionAt: "user_unflushed_result",
434
+ updatedAtMs: 100,
435
+ });
436
+ harness.sdk.enqueue(errorResult("session_refused_resume", 0, ["No message found with message.uuid of: user_unflushed_result"]));
437
+ harness.sdk.enqueue(assistantMessage("assistant_rebuilt", "Rebuilt", "session_rebuilt"), resultMessage("session_rebuilt", 0.2));
438
+ await harness.processAsync({
439
+ threadId: "thread_missing_entry",
440
+ turnId: "turn_missing_entry",
441
+ prompt: "Carry on",
442
+ history: history([{ role: "user", text: "Read the account", createdAt: 1 }]),
443
+ });
444
+ expect(harness.sdk.queries).toHaveLength(2);
445
+ expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
446
+ expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nCarry on");
447
+ expect(harness.callbacks.completes).toContainEqual(expect.objectContaining({ turnId: "turn_missing_entry", isError: false }));
448
+ });
286
449
  it("clears legacy session files and does not resume them", async () => {
287
450
  const harness = await createHarness();
288
451
  await harness.writeSessionFile("thread_legacy_dirty", { sessionId: "session_legacy_dirty" });
@@ -312,6 +475,7 @@ async function createHarness() {
312
475
  await mkdir(projectRoot, { recursive: true });
313
476
  const sdk = new FakeSdk();
314
477
  const callbacks = { streamText: [], events: [], contexts: [], completes: [] };
478
+ const planReviewPosted = new Deferred();
315
479
  vi.doMock("./env.ts", () => ({
316
480
  env: {
317
481
  BAKER_CONVEX_SITE_URL: "https://example.convex.site",
@@ -366,6 +530,11 @@ async function createHarness() {
366
530
  postHeartbeat: vi.fn(() => Promise.resolve(true)),
367
531
  postInputRequest: vi.fn(() => Promise.resolve(true)),
368
532
  postInputResolved: vi.fn(() => Promise.resolve(true)),
533
+ postPlanReview: vi.fn(() => {
534
+ planReviewPosted.resolve();
535
+ return Promise.resolve(true);
536
+ }),
537
+ postPlanResolved: vi.fn(() => Promise.resolve(true)),
369
538
  postTagInputRequest: vi.fn(() => Promise.resolve(true)),
370
539
  postTagInputResolved: vi.fn(() => Promise.resolve(true)),
371
540
  recordContextSource: vi.fn((threadId, source, metadata, turnId) => {
@@ -395,6 +564,7 @@ async function createHarness() {
395
564
  return {
396
565
  sdk,
397
566
  callbacks,
567
+ planReviewPosted: planReviewPosted.promise,
398
568
  processAsync,
399
569
  abortSession,
400
570
  async readSessionFile(threadId) {
@@ -459,6 +629,28 @@ function assistantMessage(uuid, text, sessionId) {
459
629
  },
460
630
  };
461
631
  }
632
+ function toolUseMessage(uuid, toolUseId, sessionId, toolName = "Bash") {
633
+ return {
634
+ type: "assistant",
635
+ uuid,
636
+ session_id: sessionId,
637
+ parent_tool_use_id: null,
638
+ message: {
639
+ role: "assistant",
640
+ content: [{ type: "tool_use", id: toolUseId, name: toolName, input: { command: "baker ads meta campaigns" } }],
641
+ stop_reason: "tool_use",
642
+ },
643
+ };
644
+ }
645
+ function toolResultMessage(uuid, toolUseId, sessionId) {
646
+ return {
647
+ type: "user",
648
+ uuid,
649
+ session_id: sessionId,
650
+ parent_tool_use_id: null,
651
+ message: { role: "user", content: [{ type: "tool_result", tool_use_id: toolUseId, content: "3 campaigns" }] },
652
+ };
653
+ }
462
654
  function toolUseEvent(toolUseId, toolName, sessionId) {
463
655
  return {
464
656
  type: "stream_event",
@@ -472,6 +664,9 @@ function toolUseEvent(toolUseId, toolName, sessionId) {
472
664
  function isBlockStep(step) {
473
665
  return "type" in step && step.type === "block";
474
666
  }
667
+ function isPermissionStep(step) {
668
+ return "type" in step && step.type === "permission";
669
+ }
475
670
  function visibleCallbackText(callbacks) {
476
671
  return JSON.stringify([callbacks.streamText, callbacks.events, callbacks.completes]);
477
672
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAS7D,0EAA0E;AAC1E,8EAA8E;AAC9E,KAAK,UAAU,UAAU,CAAC,MAA2C;IACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,IAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAYD,MAAM,QAAQ;IACZ,OAAO,CAAa;IACpB,OAAO,CAAuC;IAE9C;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,SAAS;IAMgB,KAAK;IALlC,UAAU,GAAG,CAAC,CAAC;IACN,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAChC,MAAM,GAAG,KAAK,CAAC;IACf,YAAY,CAA2B;IAE/C,YAA6B,KAAiB;qBAAjB,KAAK;IAAe,CAAC;IAElD,KAAK;QACH,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO;IACF,OAAO,GAAoB,EAAE,CAAC;IACtB,aAAa,GAAgB,EAAE,CAAC;IAEjD,OAAO,CAAC,GAAG,KAAiB;QAC1B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAoB;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,IAAI,OAA2B,CAAC;AAEhC,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,EAAE,CAAC,eAAe,EAAE,CAAC;IACrB,EAAE,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,aAAa,CAAC,EAC1D,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CACpC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,eAAe;YAC1B,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,6BAA6B,EAAE,MAAM,EAAE,yBAAyB,CAAC,EAClF,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAChD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpE,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7F,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,2BAA2B;YACtC,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7F,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,2BAA2B;SACvC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,4BAA4B;YACpC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,2BAA2B;YACnC,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CACnC,aAAa,CAAC,kBAAkB,CAAC,EACjC,YAAY,CAAC,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,CAAC,EACjE,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,gBAAgB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,EAClF,aAAa,CAAC,oBAAoB,EAAE,GAAG,CAAC,CACzC,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpF,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC;QAEX,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,oBAAoB;YAC/B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3E,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YACnD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC;QAEhB,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACrF,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;YACrD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,uBAAuB;YAClC,eAAe,EAAE,yBAAyB;YAC1C,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EACpF,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAC1C,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjC,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC,CAAC;QACH,MAAM,SAAS,CAAC;QAEhB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,uBAAuB;YAC/B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,yBAAyB;SAC3C,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;YACpD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,wBAAwB,EAAE,aAAa,EAAE,eAAe,CAAC,EAC1E,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CACnD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAC1F,CAAC;QAEF,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvG,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtF,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC;QAEX,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC5G,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAClF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,aAAa;IAC1B,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAE/F,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,GAAG,EAAE;YACH,qBAAqB,EAAE,6BAA6B;YACpD,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,KAAK;YACjB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SACpC;KACF,CAAC,CAAC,CAAC;IAEJ,kEAAkE;IAClE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,cAAc,EAAqC,CAAC;QAC9D,wBAAwB,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS;KACtD,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1C,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,aAAa,EAAE,iBAAiB;QAChC,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;QACnC,qBAAqB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,yBAAyB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAC9D,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACrD,aAAa,EAAE,CAAC,KAAgC,EAAE,EAAE,CAClD,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;KACvE,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAuC,CAAC;QAC3E,OAAO;YACL,GAAG,MAAM;YACT,kBAAkB,EAAE,MAAM,CAAC,wBAAwB,CAAC;gBAClD,WAAW;gBACX,SAAS;gBACT,cAAc,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,aAAa,CAAC;aACzD,CAAC;YACF,gBAAgB,EAAE,IAAI,MAAM,CAAC,oBAAoB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;YAC5D,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,KAAc,EAAE,KAAyB,EAAE,MAAc,EAAE,EAAE;YAC/F,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,MAAc,EAAE,QAAiB,EAAE,MAAc,EAAE,EAAE;YACjG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,kCAAkC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClE,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAyB,EAAE,EAAE;YACpF,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvB,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW;gBACrC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;KACH,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAE1F,OAAO;QACL,GAAG;QACH,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,KAAK,CAAC,eAAe,CAAC,QAAgB;YACpC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAY,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,KAAc;YACrD,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAA2C;IAC1D,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,MAAM;QACpB,eAAe,EACb,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,4EAA4E;gBAC5E,mGAAmG;gBACnG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC,IAAI,CAAC,IAAI,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,OAAe;IACvD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,SAAS;KACR,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,OAAe,EAAE,MAAgB;IACvE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,SAAS;QACrB,MAAM;KACkB,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAA2B,CAAC;AAC7F,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,SAAkB;IACtE,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,WAAW,EAAE,UAAU;SACxB;KACuB,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,QAAgB,EAAE,SAAiB;IAC1E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,qBAAqB;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE;SAC3G;KACuB,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IACjC,OAAO,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA0B;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAS7D,0EAA0E;AAC1E,8EAA8E;AAC9E,KAAK,UAAU,UAAU,CAAC,MAA2C;IACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,IAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAeD,MAAM,QAAQ;IACZ,OAAO,CAAa;IACpB,OAAO,CAAuC;IAE9C;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,SAAS;IAQgB,KAAK;IAPlC,UAAU,GAAG,CAAC,CAAC;IACN,OAAO,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAC/B,kBAAkB,GAAc,EAAE,CAAC;IACpC,MAAM,GAAG,KAAK,CAAC;IACf,YAAY,CAA2B;IACvC,OAAO,CAAsB;IAErC,YAA6B,KAAiB;qBAAjB,KAAK;IAAe,CAAC;IAElD,IAAI,CAAC,OAAgB;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE;oBACrE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;oBACpC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,WAAW,IAAI,CAAC,SAAS,EAAE;iBACvC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO;IACF,OAAO,GAAoB,EAAE,CAAC;IACtB,aAAa,GAAgB,EAAE,CAAC;IAEjD,OAAO,CAAC,GAAG,KAAiB;QAC1B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAoB;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,IAAI,OAA2B,CAAC;AAEhC,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,EAAE,CAAC,eAAe,EAAE,CAAC;IACrB,EAAE,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,aAAa,CAAC,EAC1D,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CACpC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,eAAe;YAC1B,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,iBAAiB;SACnC,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,6BAA6B,EAAE,MAAM,EAAE,yBAAyB,CAAC,EAClF,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAChD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpE,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7F,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,2BAA2B;YACtC,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7F,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,2BAA2B;SACvC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,4BAA4B;YACpC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,2BAA2B;YACnC,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CACnC,aAAa,CAAC,kBAAkB,CAAC,EACjC,YAAY,CAAC,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,CAAC,EACjE,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,gBAAgB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,EAClF,aAAa,CAAC,oBAAoB,EAAE,GAAG,CAAC,CACzC,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,QAAQ,EAAE,mBAAmB;YAC7B,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpF,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC;QAEX,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,oBAAoB;YAC/B,eAAe,EAAE,qBAAqB;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC3E,CAAC;QACF,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YACnD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC;QAEhB,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACjF,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;YACnD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC;QAEhB,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;YACtC,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,UAAU,CAAC;QAEjB,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,oBAAoB;YAC9B,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,4BAA4B;YACpC,OAAO,EAAE,OAAO,CAAC;gBACf,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE;gBACvD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,CAAC,EAAE;aAC/D,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC3G,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;QACxH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,0BAA0B,EAAE;YACzD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,sBAAsB;YACjC,eAAe,EAAE,wBAAwB;YACzC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CACxC,aAAa,CAAC,mBAAmB,CAAC,EAClC,cAAc,CAAC,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,CAAC,EACnE,iBAAiB,CAAC,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,CAAC,EACxE,cAAc,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EACjF,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YACzC,QAAQ,EAAE,0BAA0B;YACpC,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,aAAa,CAAC;QAEpB,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,0BAA0B;YACpC,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,2BAA2B;YACnC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,mBAAmB;YAC3B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/F,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,cAAc,CAC/C,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;QACtH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CACvC,aAAa,CAAC,kBAAkB,CAAC,EACjC,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAC5E,iBAAiB,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EACjF,cAAc,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAC5F;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;SACzC,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YACxC,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,2BAA2B;YACnC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,gBAAgB,CAAC;QAE/B,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,iEAAiE;YACzE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,MAAM,YAAY,CAAC;QAEnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;YACrD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,uBAAuB;YAClC,eAAe,EAAE,yBAAyB;YAC1C,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EACpF,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAC1C,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YACrC,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjC,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC,CAAC;QACH,MAAM,SAAS,CAAC;QAEhB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,uBAAuB;YAC/B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,yBAAyB;SAC3C,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,uBAAuB;YAC/B,eAAe,EAAE,yBAAyB;SAC3C,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;YACpD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,wBAAwB,EAAE,aAAa,EAAE,eAAe,CAAC,EAC1E,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CACnD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,qBAAqB;YAC7B,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAC1F,CAAC;QAEF,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;YACrD,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,6BAA6B;YACxC,eAAe,EAAE,uBAAuB;YACxC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,WAAW,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,8DAA8D,CAAC,CAAC,CAC3G,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,iBAAiB,CAAC,EACnE,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,CACtC,CAAC;QAEF,MAAM,OAAO,CAAC,YAAY,CAAC;YACzB,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACrG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvG,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,QAAQ,EAAE,qBAAqB;YAC/B,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtF,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC;QAEX,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC5G,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAClF,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,aAAa;IAC1B,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC/F,MAAM,gBAAgB,GAAG,IAAI,QAAQ,EAAQ,CAAC;IAE9C,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,GAAG,EAAE;YACH,qBAAqB,EAAE,6BAA6B;YACpD,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE,KAAK;YACjB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SACpC;KACF,CAAC,CAAC,CAAC;IAEJ,kEAAkE;IAClE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,cAAc,EAAqC,CAAC;QAC9D,wBAAwB,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS;KACtD,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAoB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1C,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,aAAa,EAAE,iBAAiB;QAChC,iBAAiB,EAAE,GAAG,EAAE,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;QACnC,qBAAqB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,yBAAyB,EAAE,CAAC,KAAgC,EAAE,EAAE,CAC9D,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACrD,aAAa,EAAE,CAAC,KAAgC,EAAE,EAAE,CAClD,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;KACvE,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAuC,CAAC;QAC3E,OAAO;YACL,GAAG,MAAM;YACT,kBAAkB,EAAE,MAAM,CAAC,wBAAwB,CAAC;gBAClD,WAAW;gBACX,SAAS;gBACT,cAAc,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,aAAa,CAAC;aACzD,CAAC;YACF,gBAAgB,EAAE,IAAI,MAAM,CAAC,oBAAoB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;YAC5D,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,KAAc,EAAE,KAAyB,EAAE,MAAc,EAAE,EAAE;YAC/F,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;YACzB,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,MAAc,EAAE,QAAiB,EAAE,MAAc,EAAE,EAAE;YACjG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,kCAAkC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClE,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAyB,EAAE,EAAE;YACpF,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvB,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW;gBACrC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;KACH,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAE1F,OAAO;QACL,GAAG;QACH,SAAS;QACT,gBAAgB,EAAE,gBAAgB,CAAC,OAAO;QAC1C,YAAY;QACZ,YAAY;QACZ,KAAK,CAAC,eAAe,CAAC,QAAgB;YACpC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAY,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,KAAc;YACrD,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAA2C;IAC1D,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,MAAM;QACpB,eAAe,EACb,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,4EAA4E;gBAC5E,mGAAmG;gBACnG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC,IAAI,CAAC,IAAI,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,OAAe;IACvD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,SAAS;KACR,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,OAAe,EAAE,MAAgB;IACvE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,SAAS;QACrB,MAAM;KACkB,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAA2B,CAAC;AAC7F,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,SAAkB;IACtE,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,WAAW,EAAE,UAAU;SACxB;KACuB,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAiB,EAAE,QAAQ,GAAG,MAAM;IAC3F,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI;QACJ,UAAU,EAAE,SAAS;QACrB,kBAAkB,EAAE,IAAI;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,CAAC;YAC9G,WAAW,EAAE,UAAU;SACxB;KACuB,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAiB;IAC3E,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,UAAU,EAAE,SAAS;QACrB,kBAAkB,EAAE,IAAI;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;KACrF,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,QAAgB,EAAE,SAAiB;IAC1E,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,qBAAqB;YAC3B,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE;SAC3G;KACuB,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IACjC,OAAO,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,OAAO,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAA0B;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACvF,CAAC"}