neoctl 0.2.54 → 0.2.56

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 (63) hide show
  1. package/README.md +58 -58
  2. package/dist/agents/agent-activity.js +1 -1
  3. package/dist/agents/agent-activity.js.map +1 -1
  4. package/dist/context/compaction.js +2 -1
  5. package/dist/context/compaction.js.map +1 -1
  6. package/dist/context/context-manager.d.ts +7 -1
  7. package/dist/context/context-manager.js +0 -1
  8. package/dist/context/context-manager.js.map +1 -1
  9. package/dist/context/system.md +16 -16
  10. package/dist/core/context-metrics.js +2 -1
  11. package/dist/core/context-metrics.js.map +1 -1
  12. package/dist/core/execution-state.js +3 -3
  13. package/dist/core/execution-state.js.map +1 -1
  14. package/dist/core/message-pipeline.d.ts +3 -0
  15. package/dist/core/message-pipeline.js +31 -23
  16. package/dist/core/message-pipeline.js.map +1 -1
  17. package/dist/core/query-engine.d.ts +3 -0
  18. package/dist/core/query-engine.js +58 -26
  19. package/dist/core/query-engine.js.map +1 -1
  20. package/dist/core/query.d.ts +3 -1
  21. package/dist/core/query.js +34 -8
  22. package/dist/core/query.js.map +1 -1
  23. package/dist/core/run-agent.d.ts +1 -0
  24. package/dist/core/run-agent.js +2 -1
  25. package/dist/core/run-agent.js.map +1 -1
  26. package/dist/execution/filesystem.js +22 -22
  27. package/dist/execution/process.js +44 -44
  28. package/dist/model/agent-settings-boundary.js +7 -6
  29. package/dist/model/agent-settings-boundary.js.map +1 -1
  30. package/dist/model/anthropic-mapper.d.ts +4 -0
  31. package/dist/model/anthropic-mapper.js +114 -15
  32. package/dist/model/anthropic-mapper.js.map +1 -1
  33. package/dist/model/model-gateway.d.ts +5 -0
  34. package/dist/model/model-gateway.js +1 -0
  35. package/dist/model/model-gateway.js.map +1 -1
  36. package/dist/model/model-metadata.json +144 -143
  37. package/dist/model/openai-chat-mapper.js +45 -12
  38. package/dist/model/openai-chat-mapper.js.map +1 -1
  39. package/dist/model/openai-responses-mapper.js +70 -17
  40. package/dist/model/openai-responses-mapper.js.map +1 -1
  41. package/dist/model/settings-store.d.ts +2 -1
  42. package/dist/model/settings-store.js +49 -5
  43. package/dist/model/settings-store.js.map +1 -1
  44. package/dist/model/settings-sync.d.ts +10 -2
  45. package/dist/model/settings-sync.js +17 -4
  46. package/dist/model/settings-sync.js.map +1 -1
  47. package/dist/model/thinking-lifecycle.d.ts +5 -0
  48. package/dist/model/thinking-lifecycle.js +43 -0
  49. package/dist/model/thinking-lifecycle.js.map +1 -0
  50. package/dist/repl/index.js +11 -9
  51. package/dist/repl/index.js.map +1 -1
  52. package/dist/session/session-store.d.ts +9 -0
  53. package/dist/session/session-store.js +11 -0
  54. package/dist/session/session-store.js.map +1 -1
  55. package/dist/types/events.d.ts +3 -0
  56. package/dist/web/index.d.ts +2 -0
  57. package/dist/web/index.js +42 -14
  58. package/dist/web/index.js.map +1 -1
  59. package/dist/web/model-settings-api.js +20 -5
  60. package/dist/web/model-settings-api.js.map +1 -1
  61. package/docs/prompt-config.md +86 -86
  62. package/package.json +96 -96
  63. package/scripts/copy-prompt-resources.mjs +5 -5
@@ -5,8 +5,12 @@ export interface AnthropicMapperOptions {
5
5
  defaultMaxOutputTokens?: number;
6
6
  defaultReasoning?: ReasoningConfig | null;
7
7
  thinkingBudgetTokens?: number;
8
+ /** Explicit capability override for compatible model aliases. No role fallback. */
9
+ midConversationSystem?: boolean;
8
10
  }
9
11
  export declare function anthropicInvalid(message: string): never;
12
+ /** Documented text-system support; do not infer support from provider alone. */
13
+ export declare function supportsAnthropicMidConversationSystem(model: string): boolean;
10
14
  export declare function buildAnthropicRequest(request: ModelRequest, options: AnthropicMapperOptions): Block;
11
15
  export declare function anthropicUsage(raw: Block): ModelUsage;
12
16
  export declare function normalizeAnthropicObject(body: Block, model: string): Generator<ModelStreamEvent>;
@@ -5,6 +5,7 @@ import { resolveImageBlockDataSync } from "../core/image-storage.js";
5
5
  import { validateImageInput } from "../core/image-input.js";
6
6
  import { ModelAPIError } from "./errors.js";
7
7
  import { decodeSSE } from "./sse-decoder.js";
8
+ import { withThinkingLifecycle } from "./thinking-lifecycle.js";
8
9
  import { findModelMetadata } from "./context-window.js";
9
10
  export function anthropicInvalid(message) {
10
11
  throw new ModelAPIError({ provider: "anthropic", category: "invalid_request", message, retryable: false });
@@ -16,10 +17,15 @@ function record(value) { return !!value && typeof value === "object" && !Array.i
16
17
  function visibleFingerprint(blocks) {
17
18
  return createHash("sha256").update(JSON.stringify(blocks.filter(b => b.type !== "thinking"))).digest("hex");
18
19
  }
20
+ /** Documented text-system support; do not infer support from provider alone. */
21
+ export function supportsAnthropicMidConversationSystem(model) {
22
+ const id = findModelMetadata(model)?.id ?? model;
23
+ return /(?:^|[/.])claude-(?:opus-(?:4-8|5(?:-5)?)|(?:sonnet|haiku)-5-5|(?:fable|mythos)-5(?:-1)?)(?:$|-(?:latest|\d{8})$)/i.test(id);
24
+ }
19
25
  export function buildAnthropicRequest(request, options) {
20
26
  const model = request.model ?? options.model;
21
27
  const metadata = findModelMetadata(model);
22
- const maxTokens = request.maxOutputTokens ?? options.defaultMaxOutputTokens ?? 8192;
28
+ const maxTokens = request.maxOutputTokens ?? options.defaultMaxOutputTokens ?? metadata?.maxOutputTokens ?? 64000;
23
29
  if (!Number.isSafeInteger(maxTokens) || maxTokens <= 0)
24
30
  anthropicInvalid("Claude max_tokens must be a positive integer");
25
31
  if (metadata?.provider === "anthropic" && metadata.maxOutputTokens && maxTokens > metadata.maxOutputTokens)
@@ -27,6 +33,20 @@ export function buildAnthropicRequest(request, options) {
27
33
  const split = splitSystemPromptPrefix(request.instructions ?? request.systemPrompt ?? "");
28
34
  const system = [split.stablePrefix, split.dynamicSuffix].filter(Boolean).map(text => ({ type: "text", text }));
29
35
  const turns = [];
36
+ const midSystem = options.midConversationSystem ?? supportsAnthropicMidConversationSystem(model);
37
+ let runtimeContent = [];
38
+ const flushRuntime = () => {
39
+ if (!runtimeContent.length)
40
+ return;
41
+ if (!midSystem)
42
+ anthropicInvalid(`Model ${model} does not support mid-conversation system messages; select a supported model or explicitly configure its capability`);
43
+ const last = turns.at(-1);
44
+ if (last?.role === "system")
45
+ last.content.push(...runtimeContent);
46
+ else
47
+ turns.push({ role: "system", content: runtimeContent });
48
+ runtimeContent = [];
49
+ };
30
50
  const uses = new Set(), results = new Set();
31
51
  for (const m of request.messages)
32
52
  for (const b of m.blocks) {
@@ -40,9 +60,28 @@ export function buildAnthropicRequest(request, options) {
40
60
  if (message.role === "progress" || message.role === "tombstone" || message.metadata?.displayOnly || message.metadata?.systemInit)
41
61
  continue;
42
62
  if (message.role === "system") {
43
- for (const b of message.blocks)
44
- if (b.type === "text" && b.text.trim())
45
- system.push({ type: "text", text: b.text });
63
+ const content = message.blocks.flatMap(b => b.type === "text" && b.text.trim() ? [{ type: "text", text: b.text }] : []);
64
+ if (!content.length)
65
+ continue;
66
+ if (!turns.length || message.metadata?.compactBoundary) {
67
+ system.push(...content);
68
+ continue;
69
+ }
70
+ // An aborted request may leave runtime facts with no assistant turn.
71
+ // Carry that unsatisfied tail past later user input, never across an
72
+ // assistant response (and never rewrite a completed cached prefix).
73
+ if (message.metadata?.runtimeTime || message.metadata?.runtimeContextUpdate || message.metadata?.runtimeRequestContext) {
74
+ runtimeContent.push(...content);
75
+ continue;
76
+ }
77
+ flushRuntime();
78
+ if (!midSystem)
79
+ anthropicInvalid(`Model ${model} does not support mid-conversation system messages; select a supported model or explicitly configure its capability`);
80
+ const last = turns.at(-1);
81
+ if (last.role === "system")
82
+ last.content.push(...content);
83
+ else
84
+ turns.push({ role: "system", content });
46
85
  continue;
47
86
  }
48
87
  const role = message.role === "assistant" ? "assistant" : "user";
@@ -77,19 +116,37 @@ export function buildAnthropicRequest(request, options) {
77
116
  }
78
117
  if (!content.length)
79
118
  continue;
119
+ if (role === "assistant")
120
+ flushRuntime();
80
121
  const last = turns[turns.length - 1];
81
122
  if (last?.role === role)
82
123
  last.content.push(...content);
83
124
  else
84
125
  turns.push({ role, content });
85
126
  }
127
+ // A paused visible-only stream is not a completed assistant turn and cannot
128
+ // be sent as Claude prefill. Retain it as quoted runtime state in the pending
129
+ // system tail; never invent a user utterance just to resume the request.
130
+ const lastMessage = [...request.messages].reverse().find(message => message.role === "assistant" || message.role === "user" || message.role === "tool_result");
131
+ const lastTurn = turns.at(-1);
132
+ if (runtimeContent.length && lastMessage?.metadata?.streamedPartial && lastTurn?.role === "assistant" && lastTurn.content.every(block => block.type === "text")) {
133
+ turns.pop();
134
+ runtimeContent.unshift({ type: "text", text: `Interrupted assistant output (quoted):\n${lastTurn.content.map(block => block.text).join("\n")}` });
135
+ }
136
+ flushRuntime();
86
137
  // Multiple parallel tool results and injected runtime context share a user
87
138
  // turn. Anthropic requires all tool_result blocks before ordinary user text.
88
139
  for (const turn of turns)
89
140
  if (turn.role === "user")
90
141
  turn.content = [...turn.content.filter(b => b.type === "tool_result"), ...turn.content.filter(b => b.type !== "tool_result")];
91
142
  let pending = new Set();
92
- for (const turn of turns) {
143
+ for (const [index, turn] of turns.entries()) {
144
+ if (turn.role === "system") {
145
+ if (pending.size || turns[index - 1]?.role !== "user" || (turns[index + 1] && turns[index + 1].role !== "assistant")) {
146
+ anthropicInvalid("Claude mid-conversation system content must follow a complete user/tool-result turn and precede an assistant turn or end the request");
147
+ }
148
+ continue;
149
+ }
93
150
  if (turn.role === "user") {
94
151
  const ids = turn.content.filter(b => b.type === "tool_result").map(b => String(b.tool_use_id));
95
152
  if (ids.length !== new Set(ids).size || ids.some(id => !pending.has(id)) || [...pending].some(id => !ids.includes(id)))
@@ -175,9 +232,15 @@ function configureThinking(body, request, options, model, maxTokens) {
175
232
  body.thinking = { type: "enabled", budget_tokens: budget };
176
233
  }
177
234
  }
235
+ const defaultThinking = /claude-(?:(?:opus|sonnet|haiku|fable|mythos)-5|mythos-preview)/i.test(model) && !disabled;
236
+ // Claude 5 gateways may omit readable thinking and send only a signature.
237
+ // Request the supported summary explicitly; signatures remain opaque.
238
+ if (defaultThinking && !body.thinking)
239
+ body.thinking = { type: "adaptive" };
240
+ if (body.thinking?.type === "adaptive")
241
+ body.thinking.display = "summarized";
178
242
  const choice = body.tool_choice;
179
243
  const thinkingEnabled = !!body.thinking && body.thinking.type !== "disabled";
180
- const defaultThinking = /claude-(?:(?:opus|sonnet|haiku|fable|mythos)-5|mythos-preview)/i.test(model) && !disabled;
181
244
  if ((thinkingEnabled || defaultThinking) && (choice?.type === "any" || choice?.type === "tool"))
182
245
  anthropicInvalid("Claude thinking requires auto or none tool choice");
183
246
  }
@@ -185,13 +248,14 @@ export function anthropicUsage(raw) {
185
248
  const number = (key) => typeof raw[key] === "number" ? raw[key] : 0;
186
249
  const inputTokens = number("input_tokens") + number("cache_creation_input_tokens") + number("cache_read_input_tokens");
187
250
  const outputTokens = number("output_tokens");
188
- return { inputTokens, outputTokens, totalTokens: inputTokens + outputTokens, cachedTokens: number("cache_read_input_tokens"), raw };
251
+ const details = record(raw.output_tokens_details) ? raw.output_tokens_details : undefined;
252
+ return { inputTokens, outputTokens, totalTokens: inputTokens + outputTokens, cachedTokens: number("cache_read_input_tokens"), ...(typeof details?.thinking_tokens === "number" ? { reasoningTokens: details.thinking_tokens } : {}), raw };
189
253
  }
190
254
  function assistantMessage(content, model, id) {
191
255
  const blocks = [];
192
256
  for (const b of content) {
193
257
  if (b.type === "text" && typeof b.text === "string")
194
- blocks.push({ type: "text", text: b.text });
258
+ blocks.push({ type: "text", text: b.text, displayChannel: "visible" });
195
259
  else if (b.type === "thinking")
196
260
  blocks.push({ type: "thinking", text: String(b.thinking ?? ""), signature: typeof b.signature === "string" ? b.signature : undefined });
197
261
  else if (b.type === "tool_use") {
@@ -212,7 +276,9 @@ export function* normalizeAnthropicObject(body, model) {
212
276
  protocolError("Incomplete Claude Message response: missing stop_reason");
213
277
  if (!body.content.every(record))
214
278
  protocolError("Invalid Claude Message content block");
215
- const content = body.content;
279
+ const truncated = body.stop_reason === "max_tokens" || body.stop_reason === "model_context_window_exceeded";
280
+ // Match streaming safety: no tool from an incomplete response may execute.
281
+ const content = body.content.filter(b => !truncated || b.type === "text" || b.type === "thinking");
216
282
  const id = typeof body.id === "string" ? body.id : undefined;
217
283
  if (id)
218
284
  yield { type: "response_started", responseId: id };
@@ -220,8 +286,12 @@ export function* normalizeAnthropicObject(body, model) {
220
286
  yield completionEvent(body.stop_reason, anthropicUsage(record(body.usage) ? body.usage : {}));
221
287
  }
222
288
  export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 120000) {
289
+ yield* withThinkingLifecycle(normalizeAnthropicStreamEvents(stream, model, idleTimeoutMs));
290
+ }
291
+ async function* normalizeAnthropicStreamEvents(stream, model, idleTimeoutMs) {
223
292
  const blocks = new Map();
224
293
  const partialJson = new Map();
294
+ const invalidToolInputs = new Set();
225
295
  const openBlocks = new Set();
226
296
  let id, started = false, stopped = false, reason;
227
297
  let usage = {};
@@ -243,6 +313,10 @@ export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 1
243
313
  usage = { ...message.usage };
244
314
  if (id)
245
315
  yield { type: "response_started", responseId: id };
316
+ if (record(message.usage)) {
317
+ const input = anthropicUsage(usage);
318
+ yield { type: "usage", provisional: true, usage: { inputTokens: input.inputTokens, cachedTokens: input.cachedTokens } };
319
+ }
246
320
  }
247
321
  else if (type === "content_block_start") {
248
322
  const index = event.index;
@@ -251,7 +325,12 @@ export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 1
251
325
  const block = { ...event.content_block };
252
326
  blocks.set(index, block);
253
327
  openBlocks.add(index);
254
- if (block.type === "tool_use") {
328
+ // Compatible servers may include initial text in the start frame.
329
+ if (block.type === "text" && typeof block.text === "string" && block.text)
330
+ yield { type: "assistant_delta", text: block.text, displayChannel: "visible" };
331
+ else if (block.type === "thinking" && typeof block.thinking === "string" && block.thinking)
332
+ yield { type: "thinking_delta", text: block.thinking };
333
+ else if (block.type === "tool_use") {
255
334
  partialJson.set(index, "");
256
335
  yield { type: "tool_call_started", callId: String(block.id), name: String(block.name) };
257
336
  }
@@ -264,12 +343,14 @@ export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 1
264
343
  if (delta.type === "text_delta") {
265
344
  const text = String(delta.text ?? "");
266
345
  b.text = String(b.text ?? "") + text;
267
- yield { type: "assistant_delta", text };
346
+ if (text)
347
+ yield { type: "assistant_delta", text, displayChannel: "visible" };
268
348
  }
269
349
  else if (delta.type === "thinking_delta") {
270
350
  const text = String(delta.thinking ?? "");
271
351
  b.thinking = String(b.thinking ?? "") + text;
272
- yield { type: "thinking_delta", text };
352
+ if (text)
353
+ yield { type: "thinking_delta", text };
273
354
  }
274
355
  else if (delta.type === "signature_delta")
275
356
  b.signature = String(b.signature ?? "") + String(delta.signature ?? "");
@@ -288,19 +369,23 @@ export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 1
288
369
  protocolError("Claude stopped an unopened content block");
289
370
  if (block.type === "tool_use") {
290
371
  const json = partialJson.get(index);
372
+ // A max_tokens response can end inside tool JSON. Wait for stop_reason
373
+ // before classifying it; never publish these arguments for execution.
291
374
  if (json) {
292
375
  try {
293
376
  block.input = JSON.parse(json);
294
377
  }
295
378
  catch {
296
- protocolError("Claude returned incomplete or malformed tool JSON");
379
+ invalidToolInputs.add(index);
297
380
  }
298
381
  }
299
382
  if (!record(block.input))
300
- protocolError("Claude tool input must be an object");
383
+ invalidToolInputs.add(index);
301
384
  }
302
385
  if (block.type === "text")
303
386
  yield { type: "assistant_text_done" };
387
+ else if (block.type === "thinking")
388
+ yield { type: "thinking_done" };
304
389
  }
305
390
  else if (type === "message_delta") {
306
391
  if (record(event.delta) && typeof event.delta.stop_reason === "string")
@@ -309,8 +394,22 @@ export async function* normalizeAnthropicStream(stream, model, idleTimeoutMs = 1
309
394
  usage = { ...usage, ...event.usage };
310
395
  }
311
396
  else if (type === "message_stop") {
312
- if (!started || openBlocks.size || !reason)
397
+ if (!started || !reason)
398
+ protocolError("Incomplete Claude message at message_stop");
399
+ if (reason === "max_tokens" || reason === "model_context_window_exceeded") {
400
+ // Some compatible servers omit block_stop on truncation. Preserve usage
401
+ // and the real stop reason, but discard the entire executable tool batch.
402
+ const visible = [...blocks.entries()].sort(([a], [b]) => a - b).map(([, b]) => b).filter(b => b.type === "text" || b.type === "thinking");
403
+ if (visible.length)
404
+ yield { type: "assistant_message", message: assistantMessage(visible, model, id) };
405
+ yield completionEvent(reason, anthropicUsage(usage));
406
+ stopped = true;
407
+ break;
408
+ }
409
+ if (openBlocks.size)
313
410
  protocolError("Incomplete Claude message at message_stop");
411
+ if (invalidToolInputs.size)
412
+ protocolError("Claude returned incomplete or malformed tool JSON");
314
413
  stopped = true;
315
414
  const content = [...blocks.entries()].sort(([a], [b]) => a - b).map(([, b]) => b);
316
415
  // Emit completed tool calls only after the whole message validates. A
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-mapper.js","sourceRoot":"","sources":["../../src/model/anthropic-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic-mapper.js","sourceRoot":"","sources":["../../src/model/anthropic-mapper.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,10 @@ export type ModelStreamEvent = {
54
54
  } | {
55
55
  type: "thinking_delta";
56
56
  text: string;
57
+ }
58
+ /** Readable thinking has ended; later text/tools must not keep its UI active. */
59
+ | {
60
+ type: "thinking_done";
57
61
  } | {
58
62
  type: "assistant_message";
59
63
  message: Message;
@@ -87,6 +91,7 @@ export type ModelStreamEvent = {
87
91
  } | {
88
92
  type: "usage";
89
93
  usage: ModelUsage;
94
+ provisional?: boolean;
90
95
  } | {
91
96
  type: "retrying";
92
97
  error: Error;
@@ -8,6 +8,7 @@ export class NotConfiguredModelGateway {
8
8
  const lastUserText = request.messages
9
9
  .slice()
10
10
  .reverse()
11
+ .filter((message) => message.role === "user" && !message.isMeta)
11
12
  .flatMap((message) => message.blocks)
12
13
  .find((block) => block.type === "text")?.text;
13
14
  yield {
@@ -1 +1 @@
1
- {"version":3,"file":"model-gateway.js","sourceRoot":"","sources":["../../src/model/model-gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAazD,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7H,CAAC;AAyDD,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAqB;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;aAClC,KAAK,EAAE;aACP,OAAO,EAAE;aACT,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;QAEhD,MAAM;YACJ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iBAAiB,CACxB,WAAW,EACX,uDAAuD,YAAY,IAAI,SAAS,EAAE,CACnF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"model-gateway.js","sourceRoot":"","sources":["../../src/model/model-gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAazD,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7H,CAAC;AA2DD,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAqB;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;aAClC,KAAK,EAAE;aACP,OAAO,EAAE;aACT,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/D,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;QAEhD,MAAM;YACJ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iBAAiB,CACxB,WAAW,EACX,uDAAuD,YAAY,IAAI,SAAS,EAAE,CACnF;SACF,CAAC;IACJ,CAAC;CACF"}