copperhead 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/agent/loop.js +118 -16
  2. package/dist/agent/loop.js.map +1 -1
  3. package/dist/agent/prompts.js +2 -1
  4. package/dist/agent/prompts.js.map +1 -1
  5. package/dist/agent/providers/claude-code.js +207 -27
  6. package/dist/agent/providers/claude-code.js.map +1 -1
  7. package/dist/agent/recovery.js +148 -0
  8. package/dist/agent/recovery.js.map +1 -0
  9. package/dist/agent/render.js +17 -2
  10. package/dist/agent/render.js.map +1 -1
  11. package/dist/agent/response-cache.js +81 -0
  12. package/dist/agent/response-cache.js.map +1 -0
  13. package/dist/agent/tools.js +61 -4
  14. package/dist/agent/tools.js.map +1 -1
  15. package/dist/agent/transcript.js.map +1 -1
  16. package/dist/commands/create.js +470 -35
  17. package/dist/commands/create.js.map +1 -1
  18. package/dist/config.js +19 -0
  19. package/dist/config.js.map +1 -1
  20. package/dist/kicad/bootstrap.js +166 -0
  21. package/dist/kicad/bootstrap.js.map +1 -0
  22. package/dist/kicad/spice.js +306 -0
  23. package/dist/kicad/spice.js.map +1 -0
  24. package/dist/kicad/symlib.js +228 -0
  25. package/dist/kicad/symlib.js.map +1 -0
  26. package/dist/memory/bom-table.js +193 -22
  27. package/dist/memory/bom-table.js.map +1 -1
  28. package/dist/memory/drift.js +33 -11
  29. package/dist/memory/drift.js.map +1 -1
  30. package/dist/util/git.js +37 -1
  31. package/dist/util/git.js.map +1 -1
  32. package/dist/util/preflight.js +37 -0
  33. package/dist/util/preflight.js.map +1 -1
  34. package/dist/util/retry.js +23 -0
  35. package/dist/util/retry.js.map +1 -1
  36. package/dist/util/tmp.js +119 -0
  37. package/dist/util/tmp.js.map +1 -0
  38. package/package.json +1 -1
  39. package/src/agent/loop.ts +136 -16
  40. package/src/agent/prompts.ts +2 -1
  41. package/src/agent/providers/claude-code.ts +207 -24
  42. package/src/agent/recovery.ts +162 -0
  43. package/src/agent/render.ts +28 -1
  44. package/src/agent/response-cache.ts +80 -0
  45. package/src/agent/tools.ts +62 -4
  46. package/src/agent/transcript.ts +1 -0
  47. package/src/agent/types.ts +17 -0
  48. package/src/commands/create.ts +528 -38
  49. package/src/config.ts +34 -0
  50. package/src/kicad/bootstrap.ts +181 -0
  51. package/src/kicad/spice.ts +399 -0
  52. package/src/kicad/symlib.ts +248 -0
  53. package/src/memory/bom-table.ts +191 -20
  54. package/src/memory/drift.ts +42 -11
  55. package/src/util/git.ts +37 -1
  56. package/src/util/preflight.ts +44 -0
  57. package/src/util/retry.ts +29 -0
  58. package/src/util/tmp.ts +113 -0
@@ -2,15 +2,17 @@ import path from 'node:path';
2
2
  import { readFile, writeFile } from 'node:fs/promises';
3
3
  import { execa } from 'execa';
4
4
  import { availableTools, dispatchTool } from './tools.js';
5
+ import { CachingProvider } from './response-cache.js';
6
+ import { withTimeout, TurnTimeoutError } from './recovery.js';
5
7
  import { buildSystemPrompt } from './prompts.js';
6
8
  import { loadConstraints, reopenDeferredAffects } from '../memory/constraints.js';
7
- import { loadConfig } from '../config.js';
9
+ import { loadConfig, CONFIG_DIR } from '../config.js';
8
10
  import { Transcript } from './transcript.js';
9
11
  import { collectRunMeta, renderCliHeader } from './runmeta.js';
10
12
  import { plainRenderer, fmtDuration, fmtTokens } from './render.js';
11
13
  import { ObligationsLedger } from './ledger.js';
12
14
  import { gitPreflight, isDirty, snapshot, restore, commitAll, changedFiles, preserveFailedRun } from '../util/git.js';
13
- import { withRetry, isRateLimit } from '../util/retry.js';
15
+ import { withRetry, isRateLimit, sessionLimit } from '../util/retry.js';
14
16
  import { openspecArchive } from '../openspec/cli.js';
15
17
  import { existsSync } from 'node:fs';
16
18
  import { OpenAIProvider } from './providers/openai.js';
@@ -18,7 +20,7 @@ import { AnthropicProvider } from './providers/anthropic.js';
18
20
  import { CodexProvider } from './providers/codex.js';
19
21
  import { ClaudeCodeProvider } from './providers/claude-code.js';
20
22
  import { openSynapMemory } from '../memory/synap.js';
21
- export async function makeProvider(model) {
23
+ export async function makeProvider(model, sessionResume = false) {
22
24
  if (model === 'codex' || model.startsWith('codex:')) {
23
25
  const codexModel = model.startsWith('codex:') ? model.slice('codex:'.length) : undefined;
24
26
  if (codexModel === '')
@@ -42,7 +44,7 @@ export async function makeProvider(model) {
42
44
  if (claudeCodeModel === '') {
43
45
  throw new Error('claude-code model override cannot be empty; use "claude-code" or "claude-code:<model-id>"');
44
46
  }
45
- return new ClaudeCodeProvider(claudeCodeModel);
47
+ return new ClaudeCodeProvider(claudeCodeModel, undefined, undefined, sessionResume);
46
48
  }
47
49
  if (model === 'claude' || model.startsWith('claude')) {
48
50
  return new AnthropicProvider(model === 'claude' ? undefined : model);
@@ -139,8 +141,23 @@ async function runWithMemory(opts, memory, providers) {
139
141
  repairCycles: 0,
140
142
  finishRequest: null,
141
143
  };
142
- let provider = opts.provider ?? (await makeProvider(opts.model));
144
+ // Session resume for claude-code (1.1) is only correct when the response cache
145
+ // is off: the cache replays turns a resumed session never saw. So enable it
146
+ // only when the env flag is set AND config.llmCache is disabled — the same
147
+ // condition under which we skip the CachingProvider wrap below.
148
+ const sessionResume = process.env.COPPERHEAD_CC_SESSION_RESUME === '1' && !config.llmCache;
149
+ let provider = opts.provider ?? (await makeProvider(opts.model, sessionResume));
150
+ // Cache every turn's response so a retried/restarted stage replays what it
151
+ // already paid for instead of re-calling the model (repo-scoped, cross-run).
152
+ // Skip an injected provider (tests drive scripted providers directly).
153
+ if (config.llmCache && !opts.provider) {
154
+ provider = new CachingProvider(provider, path.join(repoRoot, CONFIG_DIR, 'llm-cache'), log, opts.model);
155
+ }
143
156
  providers.add(provider);
157
+ // Held separately from `provider` (which is reassigned on failover) so the
158
+ // final cache-hit count survives a mid-run provider switch (5.2).
159
+ const cachingProvider = provider instanceof CachingProvider ? provider : null;
160
+ const cacheHits = () => cachingProvider?.cacheHits ?? 0;
144
161
  // Deterministic, LLM-free metadata block: collected once, rendered onto all
145
162
  // three surfaces (run-start event, summary ## Environment, CLI header) so
146
163
  // they can never disagree (design D1, AC-8.1/8.4).
@@ -216,6 +233,8 @@ async function runWithMemory(opts, memory, providers) {
216
233
  const perTurn = [];
217
234
  let plan = null;
218
235
  let nudges = 0;
236
+ let turnTimeouts = 0;
237
+ const maxTurnTimeouts = 3;
219
238
  const stats = (exitPath) => ({
220
239
  exitPath,
221
240
  turnsUsed,
@@ -292,6 +311,8 @@ async function runWithMemory(opts, memory, providers) {
292
311
  transcriptDir: transcript.dir,
293
312
  filesTouched: [],
294
313
  commit: null,
314
+ stats: runStats,
315
+ cacheHits: cacheHits(),
295
316
  };
296
317
  };
297
318
  let budget = maxTurns;
@@ -325,16 +346,53 @@ async function runWithMemory(opts, memory, providers) {
325
346
  await transcript.event('budget-extended', { extraTurns: extra, budget, ...exhaustStats });
326
347
  log(`turn budget extended by ${extra} (now ${budget})`);
327
348
  }
349
+ // Advertise EVERY tool each turn; dispatchTool enforces the edit-unlock gate
350
+ // live at call time. Hiding locked edit tools from the turn catalog meant a
351
+ // model that unlocked (validate_change) and edited in the SAME reply had its
352
+ // edit silently dropped in parsing — the call named a tool the turn had not
353
+ // advertised, so it was treated as prose, executed nothing, and returned no
354
+ // error. The model then "verified" against an unchanged file (an empty
355
+ // schematic even passes ERC) and finished believing it had succeeded.
356
+ // Structural lock (SPEC.md §1.3 invariant 1): the edit tools stay OUT of the
357
+ // advertised list until a proposal validates (`editsUnlocked`), so the model
358
+ // is gated by omission, not by prompt text. `dispatchTool` re-checks the same
359
+ // `availableTools(ctx)` live, so this is defense in depth. A premature edit is
360
+ // simply not offered; once `validate_change` unlocks, the next turn advertises
361
+ // the edit tools. (Earlier this advertised every tool to let a same-turn
362
+ // propose→validate→edit batch through, but that traded the spec's structural
363
+ // guarantee for one saved turn — not worth it.)
328
364
  const tools = availableTools(ctx).map((t) => t.schema);
329
365
  r.turnStart(turn + 1, maxTurns, tokensIn, tokensOut);
330
366
  r.status('thinking');
331
367
  let res;
368
+ // Liveness heartbeat (5.1): a large-output turn can legitimately run several
369
+ // minutes, which is otherwise indistinguishable from a hung subprocess until
370
+ // the watchdog fires. Emit a periodic elapsed/streamed signal so an operator
371
+ // can tell the two apart. Fires only after the first interval, so quick turns
372
+ // stay silent; `unref` keeps it from holding the event loop open.
373
+ const turnStartMs = Date.now();
374
+ let streamedChars = 0;
375
+ const heartbeat = config.heartbeatMs > 0
376
+ ? setInterval(() => r.heartbeat({ elapsedMs: Date.now() - turnStartMs, streamedChars }), config.heartbeatMs)
377
+ : null;
378
+ heartbeat?.unref?.();
332
379
  try {
333
- res = await withRetry(() => provider.chat(messages, tools), {
334
- onRetry: (attempt) => log(`rate limited; retry ${attempt}`),
335
- });
380
+ res = await withRetry(() => withTimeout(() => provider.chat(messages, tools, { onStream: (chars) => (streamedChars = chars) }), config.turnTimeoutMs, () => provider.close?.()), { onRetry: (attempt) => log(`rate limited; retry ${attempt}`) });
336
381
  }
337
382
  catch (err) {
383
+ if (err instanceof TurnTimeoutError) {
384
+ // A hung provider turn: the watchdog aborted the in-flight call and tore
385
+ // down its subprocess. Retry the same turn a bounded number of times
386
+ // before giving up, so a transient hang self-heals instead of stalling
387
+ // the run forever.
388
+ if (turnTimeouts++ < maxTurnTimeouts) {
389
+ log(`turn exceeded ${config.turnTimeoutMs}ms; aborted the hung call and retrying (${turnTimeouts}/${maxTurnTimeouts})`);
390
+ await transcript.event('turn-timeout', { ms: config.turnTimeoutMs, attempt: turnTimeouts });
391
+ turn--;
392
+ continue;
393
+ }
394
+ return fail(`provider turns timed out ${turnTimeouts}× (>${config.turnTimeoutMs}ms each)`, 'provider-error');
395
+ }
338
396
  if (isRateLimit(err)) {
339
397
  const fallback = otherProvider(provider);
340
398
  if (fallback) {
@@ -346,12 +404,33 @@ async function runWithMemory(opts, memory, providers) {
346
404
  continue;
347
405
  }
348
406
  }
407
+ // A saved-login session/usage limit is not a code bug and not a 429 (2.4,
408
+ // I13): it names its own reset time and clears only then, and every turn
409
+ // so far is already in the llm-cache — so re-running after the reset
410
+ // replays them at ~0 tokens and resumes in place. Surface it as its own
411
+ // exit path with the reset time and the resume instruction, rather than a
412
+ // bare "provider error" the operator would read as a failure to debug.
413
+ const limit = sessionLimit(err);
414
+ if (limit) {
415
+ const when = limit.resetsAt ? ` (resets ${limit.resetsAt})` : '';
416
+ await transcript.event('session-limit', { resetsAt: limit.resetsAt, provider: provider.name });
417
+ return fail(`${provider.name} session/usage limit reached${when} — this is a schedulable pause, not a bug. ` +
418
+ `Wait for the reset, then re-run the same command: completed turns replay from the cache at ~0 tokens and the run resumes where it left off.`, 'session-limit');
419
+ }
349
420
  return fail(`provider error: ${err.message}`, 'provider-error');
350
421
  }
351
422
  finally {
423
+ if (heartbeat)
424
+ clearInterval(heartbeat);
352
425
  r.status(null);
353
426
  }
354
427
  turnsUsed = turn + 1;
428
+ // A productive turn resets the timeout budget: maxTurnTimeouts is meant to
429
+ // catch a turn that is genuinely, repeatedly stuck — not to cap the total
430
+ // number of slow-but-recoverable turns across a whole stage. Without this a
431
+ // long stage that merely has a few independent slow turns accumulates
432
+ // timeouts and hard-fails even though every one of them recovered.
433
+ turnTimeouts = 0;
355
434
  tokensIn += res.usage.inputTokens;
356
435
  tokensOut += res.usage.outputTokens;
357
436
  perTurn.push({ turn: turn + 1, in: res.usage.inputTokens, out: res.usage.outputTokens });
@@ -371,7 +450,9 @@ async function runWithMemory(opts, memory, providers) {
371
450
  return fail('model stopped calling tools without finishing', 'stalled');
372
451
  messages.push({
373
452
  role: 'user',
374
- content: 'Continue using tools, or call finish({outcome, summary}) to end the run.',
453
+ // A near-miss malformed tool call (#I10) gets a specific steer to re-emit
454
+ // it; an ordinary tool-less turn gets the generic continue prompt.
455
+ content: res.nudge ?? 'Continue using tools, or call finish({outcome, summary}) to end the run.',
375
456
  });
376
457
  continue;
377
458
  }
@@ -436,6 +517,8 @@ async function runWithMemory(opts, memory, providers) {
436
517
  transcriptDir: transcript.dir,
437
518
  filesTouched: [],
438
519
  commit: null,
520
+ stats: runStats,
521
+ cacheHits: cacheHits(),
439
522
  };
440
523
  }
441
524
  const verification = [
@@ -480,15 +563,32 @@ async function runWithMemory(opts, memory, providers) {
480
563
  transcriptDir: transcript.dir,
481
564
  filesTouched: files,
482
565
  commit: null,
566
+ stats: runStats,
567
+ cacheHits: cacheHits(),
483
568
  };
484
569
  }
485
- await appendChangelog(repoRoot, config, {
486
- changeId: ctx.changeId,
487
- request: opts.request,
488
- files,
489
- verification,
490
- });
491
- ctx.ledger.clear('changelog');
570
+ // Bookkeeping must never cost the verified design its commit (2.1): the
571
+ // KiCad work passed its ERC/DRC gates, so a failure appending the changelog
572
+ // (a plain CHANGELOG.md read+write) is a warning, not a rollback. It stays
573
+ // before commitAll so, on the normal path, the entry lands in the run's
574
+ // single commit and a zero-edit "done" run still has something to commit;
575
+ // if it throws, the design is committed without a changelog line rather
576
+ // than sent through fail()'s rollback. The other bookkeeping — the openspec
577
+ // archive — is already post-commit and non-fatal below.
578
+ try {
579
+ await appendChangelog(repoRoot, config, {
580
+ changeId: ctx.changeId,
581
+ request: opts.request,
582
+ files,
583
+ verification,
584
+ });
585
+ ctx.ledger.clear('changelog');
586
+ }
587
+ catch (err) {
588
+ const message = err.message;
589
+ log(`warning: changelog append failed (${message}); committing the verified design without a changelog entry`);
590
+ await transcript.event('changelog-append-failed', { error: message });
591
+ }
492
592
  const commitMsg = `copperhead: ${opts.request}\n\n${summary}\n\nVerification: ${verification}`;
493
593
  // A git failure here (e.g. `git add -A` exiting 128 on an embedded repo)
494
594
  // must land in summary.md as an outcome, not escape as a stack trace
@@ -552,6 +652,8 @@ async function runWithMemory(opts, memory, providers) {
552
652
  transcriptDir: transcript.dir,
553
653
  filesTouched: files,
554
654
  commit,
655
+ stats: runStats,
656
+ cacheHits: cacheHits(),
555
657
  };
556
658
  }
557
659
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ const WORKFLOW = `Workflow for every run:
19
19
  6. Record every non-trivial decision with record_decision, and every stated/assumed/discovered constraint with record_constraint.
20
20
  7. Call finish with outcome "done" when everything is verified, or outcome "refuse" (citing the violated budget/constraint) if the request should not be done. finish will list any unmet obligations; resolve them and call it again.
21
21
 
22
- Turns are the scarce resource, not tool calls: the run has a hard turn budget, and every tool call in one reply executes in the same turn. When calls are independent — multiple record_constraint or resolve_affected calls (use resolutions: [...] to clear a backlog in one call), several read_file calls — issue them together in a single reply instead of one per turn.`;
22
+ Turns are the scarce resource, not tool calls: the run has a hard turn budget, and every tool call in one reply executes in the same turn. When calls are independent — multiple record_constraint or resolve_affected calls (use resolutions: [...] to clear a backlog in one call), several read_file calls — issue them together in a single reply instead of one per turn.
23
+ Always send a populated \`args\` object that matches the tool's JSON Schema (e.g. read_file needs {"path": "..."}). Never open a stage with an empty-args call to probe a tool — it only returns an error and burns a whole turn.`;
23
24
  export async function buildSystemPrompt(repoRoot, config, constraints) {
24
25
  const parts = [SYSTEM_RULES, '', WORKFLOW];
25
26
  if (Object.keys(config.budgets).length) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,yCAAyC;AACzC,MAAM,YAAY,GAAG;;;;;;;wGAOmF,CAAC;AAEzG,MAAM,QAAQ,GAAG;;;;;;;;;+WAS8V,CAAC;AAEhX,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,MAAwB,EACxB,WAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uEAAuE,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,yCAAyC;AACzC,MAAM,YAAY,GAAG;;;;;;;wGAOmF,CAAC;AAEzG,MAAM,QAAQ,GAAG;;;;;;;;;;kOAUiN,CAAC;AAEnO,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,MAAwB,EACxB,WAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uEAAuE,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}