wicked-crew 0.9.2 → 0.9.4

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 (75) hide show
  1. package/dist/api/delivery-assurance.d.ts +22 -1
  2. package/dist/api/delivery-assurance.d.ts.map +1 -1
  3. package/dist/api/delivery-assurance.js +66 -2
  4. package/dist/api/delivery-assurance.js.map +1 -1
  5. package/dist/api/routes.d.ts +148 -8
  6. package/dist/api/routes.d.ts.map +1 -1
  7. package/dist/api/routes.js +59 -19
  8. package/dist/api/routes.js.map +1 -1
  9. package/dist/api/server.d.ts.map +1 -1
  10. package/dist/api/server.js +31 -31
  11. package/dist/api/server.js.map +1 -1
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +32 -1
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/service.js +1 -1
  16. package/dist/cli/service.js.map +1 -1
  17. package/dist/core/adapter.d.ts +21 -3
  18. package/dist/core/adapter.d.ts.map +1 -1
  19. package/dist/core/adapter.js +72 -18
  20. package/dist/core/adapter.js.map +1 -1
  21. package/dist/core/ado-deliver-helper.d.ts +5 -0
  22. package/dist/core/ado-deliver-helper.d.ts.map +1 -1
  23. package/dist/core/ado-deliver-helper.js +50 -2
  24. package/dist/core/ado-deliver-helper.js.map +1 -1
  25. package/dist/core/deliver-credentials.d.ts +8 -4
  26. package/dist/core/deliver-credentials.d.ts.map +1 -1
  27. package/dist/core/deliver-credentials.js +25 -7
  28. package/dist/core/deliver-credentials.js.map +1 -1
  29. package/dist/core/deliver-text.d.ts +8 -0
  30. package/dist/core/deliver-text.d.ts.map +1 -1
  31. package/dist/core/deliver-text.js +16 -0
  32. package/dist/core/deliver-text.js.map +1 -1
  33. package/dist/core/deliver.d.ts +22 -18
  34. package/dist/core/deliver.d.ts.map +1 -1
  35. package/dist/core/deliver.js +168 -79
  36. package/dist/core/deliver.js.map +1 -1
  37. package/dist/core/types.d.ts +7 -0
  38. package/dist/core/types.d.ts.map +1 -1
  39. package/dist/core/types.js.map +1 -1
  40. package/dist/interactive/chat-events.d.ts +11 -20
  41. package/dist/interactive/chat-events.d.ts.map +1 -1
  42. package/dist/interactive/chat-events.js +69 -108
  43. package/dist/interactive/chat-events.js.map +1 -1
  44. package/dist/interactive/draft-events.d.ts +13 -46
  45. package/dist/interactive/draft-events.d.ts.map +1 -1
  46. package/dist/interactive/draft-events.js +81 -130
  47. package/dist/interactive/draft-events.js.map +1 -1
  48. package/dist/interactive/draft-skill.d.ts +11 -19
  49. package/dist/interactive/draft-skill.d.ts.map +1 -1
  50. package/dist/interactive/draft-skill.js +16 -31
  51. package/dist/interactive/draft-skill.js.map +1 -1
  52. package/dist/interactive/edit-events.d.ts +11 -21
  53. package/dist/interactive/edit-events.d.ts.map +1 -1
  54. package/dist/interactive/edit-events.js +70 -83
  55. package/dist/interactive/edit-events.js.map +1 -1
  56. package/dist/interactive/run-units.d.ts +91 -0
  57. package/dist/interactive/run-units.d.ts.map +1 -0
  58. package/dist/interactive/run-units.js +149 -0
  59. package/dist/interactive/run-units.js.map +1 -0
  60. package/dist/skills/core-closure.d.ts +26 -0
  61. package/dist/skills/core-closure.d.ts.map +1 -1
  62. package/dist/skills/core-closure.js +45 -0
  63. package/dist/skills/core-closure.js.map +1 -1
  64. package/dist/skills/phase-skill-gaps.d.ts +16 -71
  65. package/dist/skills/phase-skill-gaps.d.ts.map +1 -1
  66. package/dist/skills/phase-skill-gaps.js +16 -145
  67. package/dist/skills/phase-skill-gaps.js.map +1 -1
  68. package/dist/studio/assets/{index-BLYKfepE.css → index-BGfFmWw4.css} +1 -1
  69. package/dist/studio/assets/{index-BbXtfDnB.js → index-BMRUMU4X.js} +112 -112
  70. package/dist/studio/editors/wicked-page/editor.json +1 -1
  71. package/dist/studio/editors/wicked-page/index.html +1 -1
  72. package/dist/studio/index.html +2 -2
  73. package/dist/studio/testid-inventory.json +83 -5
  74. package/endpoint-manifest.json +1 -1
  75. package/package.json +3 -3
@@ -36,11 +36,12 @@ import { join } from 'node:path';
36
36
  import { randomUUID } from 'node:crypto';
37
37
  import { DOC_NAME, INTERACTIVE_DOMAIN, INTERACTIVE_PRODUCER, STATUS_POSTED, oneLine, proposeClause, recallClause, docScope, narrationStamps, } from './draft-events.js';
38
38
  import { InteractiveHandoffLedger } from './ledger.js';
39
- import { DRAFT_SKILL, draftQualityClause, draftSkillArmLine, withDraftSkill } from './draft-skill.js';
39
+ import { DRAFT_SKILL, draftQualityClause, draftSkillArmLine } from './draft-skill.js';
40
40
  import { crewStateHome } from '../projects/state-home.js';
41
41
  import { resolveProjectGraphBinding } from '../projects/graph.js';
42
42
  import { DEMO_DOC_MOVED_MESSAGE, readDocHead } from './chat-events.js';
43
43
  import { resolveInteractiveRoot } from './bridge-root.js';
44
+ import { awaitingHumanLine, resyncRunUnits, ResyncGate, RunUnits } from './run-units.js';
44
45
  import { acpFallbackLine, ungatedGateNote, unitDistributedLine, workerToolCallDeniedLine, } from './council-outcome.js';
45
46
  import { busSubscriberErrorReporter } from './bus-subscriber-errors.js';
46
47
  import { emitOnBus, requireEngineBus, tapBus } from '../core/bus.js';
@@ -50,43 +51,16 @@ export const EDIT_COMPLETED = 'wicked.interactive.edit.completed';
50
51
  /** Exact-type filter with a domain guard — no wildcard, one event type is the whole trigger. */
51
52
  export const INTERACTIVE_EDIT_BUS_FILTER = `${FEEDBACK_PROCESSED}@${INTERACTIVE_DOMAIN}`;
52
53
  // ── The workflow (workflows-as-data) ─────────────────────────────────────────────────────────
53
- export const INTERACTIVE_EDIT_WORKFLOW = 'interactive-edit';
54
54
  /**
55
- * The governed workflow that fulfils a structural handoff. ONE agent phase — `edit` (build,
56
- * creator role): the target fragments are already extracted and the instructions already
57
- * written, so unlike the draft leg there is nothing left to plan; a recon phase would only
58
- * burn a council turn re-reading a handoff the edit phase reads anyway.
59
- *
60
- * The phase `instructions` adapt the fragment-edit contract from interactive's assist skill
61
- * (Step 2 + Step 3): rewrite each handed-off fragment per its instruction, preserve every
62
- * pre-existing `data-wid` byte-for-byte, never mint new anchors, keep the markup well-formed,
63
- * and never fabricate facts. SINGLE-LINE by contract (PTY seat runner, wicked-core FINDING-011).
64
- *
65
- * The gate is `auto` with `validator_pin: null` — no human gate, no deterministic floor —
66
- * because this seam runs its own deterministic pre-emit self-check (INV-2) and interactive's
67
- * apply path re-checks the same invariant; a wrong-but-anchor-safe edit is the user's to judge
68
- * on the canvas, exactly as with the assist session it replaces.
55
+ * The governed workflow that fulfils a structural handoff: the wicked-core built-in preset
56
+ * `interactive-edit` (X-MIG M9, wicked-core#860; crew#935). ONE creator step, `edit`: the target
57
+ * fragments are already extracted and the instructions already written, so there is nothing left
58
+ * to plan. The step carries the fragment-edit contract (preserve every pre-existing `data-wid`
59
+ * byte-for-byte, mint none, keep the markup well-formed) and runs `wicked-garden-draft`. The engine
60
+ * owns the steps (the PA's `pa-scope` first, its floor additions, the deliverable floor on the
61
+ * creator step); this seam still runs its own pre-emit INV-2 self-check. Crew registers no def.
69
62
  */
70
- export const INTERACTIVE_EDIT_WORKFLOW_DEF = {
71
- id: INTERACTIVE_EDIT_WORKFLOW,
72
- phases: [
73
- {
74
- id: 'edit',
75
- kind: 'build',
76
- instructions: 'Read the handoff JSON file named in the task; for EACH entry of its items array: rewrite that item\'s "fragment" (the current outerHTML of one document element) to fulfil the item\'s "instruction", and SAVE the complete edited fragment — the element\'s full outerHTML only, no document wrapper, no markdown fences — to the item\'s exact absolute "output_path" (create parent directories if needed, overwrite if present). NON-NEGOTIABLE (INV-2): every data-wid attribute in the input fragment MUST survive in your edited fragment byte-for-byte — never remove, rename, or re-value a data-wid, and keep the root element\'s own data-wid on the root; elements you ADD must carry no data-wid at all (the wicked-interactive service instruments its own anchors). Keep the markup well-formed (balanced tags), change only what the instruction asks, and never fabricate facts or figures. Write every output file before you finish and end your reply with the absolute paths you wrote.',
77
- gate_type: 'execution',
78
- gate: 'auto',
79
- executes_code: false,
80
- verified_evidence: false,
81
- required_deliverables: [],
82
- depends_on: [],
83
- role: 'creator',
84
- skill_ref: null,
85
- allowed_skills: [],
86
- validator_pin: null,
87
- },
88
- ],
89
- };
63
+ export const INTERACTIVE_EDIT_WORKFLOW = 'interactive-edit';
90
64
  /**
91
65
  * Parse a bus frame into a {@link StructuralHandoff}, or `null` when it is not an actionable
92
66
  * structural handoff: wrong type, malformed payload, slug-invalid document_id, non-integer
@@ -234,7 +208,7 @@ function rosterOf(adapter, roster) {
234
208
  return adapter.constructor.roster();
235
209
  }
236
210
  /**
237
- * Arm the seam: register the `interactive-edit` workflow, open a durable
211
+ * Arm the seam (it registers nothing: the run is the engine's `interactive-edit` preset), open a durable
238
212
  * `wicked.interactive.feedback.processed` subscription, and answer each handoff carrying
239
213
  * structural items with a governed run that ends in `wicked.interactive.edit.completed`.
240
214
  *
@@ -244,7 +218,6 @@ function rosterOf(adapter, roster) {
244
218
  */
245
219
  export async function startInteractiveEditSubscriber(adapter, opts = {}) {
246
220
  const log = opts.log ?? ((m) => console.error(m));
247
- let draftSkillHeld = false; // set at arm time (draft-skill.ts); read at launch for the task clause
248
221
  // This seam reads and writes the bus through the engine that holds it (wicked-core#631,
249
222
  // core/bus.ts). Checked here so a bus no engine holds disables the seam before anything is armed.
250
223
  let busDbPath;
@@ -255,29 +228,16 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
255
228
  log(`[interactive-edit] has no bus${opts.dbPath !== undefined ? ` at ${opts.dbPath}` : ''} — governed structural edits disabled: ${err instanceof Error ? err.message : String(err)}`);
256
229
  return null;
257
230
  }
258
- // The workflow rides the normal registration path — core validates the def BEFORE it is
259
- // persisted/hot-registered (FINDING-002 ordering), so a drifted def fails the arm loudly
260
- // instead of failing the first launch obscurely.
261
- try {
262
- // The quality-floor skill rides only when the published snapshot holds it (draft-skill.ts).
263
- draftSkillHeld = (opts.skillHeld ?? (() => false))(DRAFT_SKILL);
264
- log(draftSkillArmLine('interactive-edit', draftSkillHeld));
265
- await adapter.registerWorkflow(withDraftSkill(INTERACTIVE_EDIT_WORKFLOW_DEF, draftSkillHeld));
266
- }
267
- catch (err) {
268
- log(`[interactive-edit] could not register the '${INTERACTIVE_EDIT_WORKFLOW}' workflow — ` +
269
- `governed structural edits disabled: ${err instanceof Error ? err.message : String(err)}`);
270
- return null;
271
- }
231
+ // The workflow is the engine's built-in `interactive-edit` preset (crew#935): nothing to
232
+ // register. The arm line says whether the published snapshot holds the draft skill it runs.
233
+ log(draftSkillArmLine(INTERACTIVE_EDIT_WORKFLOW, (opts.skillHeld ?? (() => false))(DRAFT_SKILL)));
272
234
  const ledger = new InteractiveHandoffLedger(opts.ledgerPath ?? join(defaultStateDir(), 'interactive-edit-ledger.json'));
273
235
  const editDir = opts.editDir ?? join(defaultStateDir(), 'interactive-edits');
274
236
  const heartbeatMs = opts.heartbeatMs ?? 15_000;
275
- // The run executes ONE MORE unit than the def declares: the crew#311 deliverable floor,
276
- // appended per-run by `launchRun` from `requireDeliverables`. Narration keys off this so the
277
- // "landing the new version" line fires when the FILES are verified, not when the worker
278
- // merely stopped talking.
279
- const agentPhaseCount = INTERACTIVE_EDIT_WORKFLOW_DEF.phases.length;
280
237
  const inFlight = new Map(); // runId → live state
238
+ // runId → the run's planned units (crew#935). Opened BEFORE the launch: the engine announces the
239
+ // first plan (`unitPlanned`) while `launchRun` is still in flight, before the flight is recorded.
240
+ const unitsByRun = new Map();
281
241
  /** Emit onto interactive's vocabulary as the `wi-crew` producer. Never throws into the
282
242
  * caller: narration/announce failures are logged — a lost status line must not kill the
283
243
  * subscription, and a duplicate edit emit (its key already on the bus) is the idempotency key WORKING. */
@@ -319,14 +279,18 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
319
279
  clearInterval(flight.heartbeat);
320
280
  inFlight.delete(runId);
321
281
  }
282
+ unitsByRun.delete(runId);
322
283
  return flight;
323
284
  }
324
285
  /** Terminal-event fold: turn the governed run's own events into interactive narration, and
325
286
  * close the loop with `edit.completed` when the run lands AND the self-check passes. */
326
- const offCoreEvents = adapter.onEvent((event) => {
287
+ const foldEvent = (event) => {
327
288
  const runId = typeof event.session === 'string' ? event.session : undefined;
328
289
  if (runId === undefined)
329
290
  return;
291
+ const planned = unitsByRun.get(runId);
292
+ if (planned?.observe(event) === true)
293
+ return;
330
294
  const flight = inFlight.get(runId);
331
295
  if (flight === undefined)
332
296
  return;
@@ -338,35 +302,51 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
338
302
  // Narration ladder — same rationale as the draft fold: the heartbeat repeats the LATEST
339
303
  // line and the transcript dedups repeats, so advancing the line = visible progress.
340
304
  const blocks = flight.items.length === 1 ? 'the targeted block' : `${flight.items.length} targeted blocks`;
341
- // The crew#311 deliverable floor is a DETERMINISTIC tool phase — no seat, no council. Core
342
- // still emits the seat-selection events for it (its `cli` is the node interpreter's absolute
343
- // path), so narrating them verbatim put "Council picked /opt/homebrew/.../node to rework…"
344
- // in the reader's thread. Drop those two lines for the floor ord.
345
- const isFloorOrd = (e) => typeof e.ord === 'number' && e.ord > agentPhaseCount;
305
+ // The steps are the engine's (crew#935), read from the run's `unitPlanned` frames. A tool unit
306
+ // has no seat, so its council and routing frames are not narrated.
307
+ const units = planned ?? new RunUnits();
308
+ const ordOf = (e) => (typeof e.ord === 'number' ? e.ord : 0);
346
309
  if (event.type === 'councilConvened') {
347
- if (isFloorOrd(event))
310
+ const ord = ordOf(event);
311
+ if (units.isTool(ord))
348
312
  return;
349
313
  const seats = Array.isArray(event.clis) ? event.clis.length : 0;
350
314
  // "0-seat council" reads like a bug — generic phrasing whenever clis is missing or empty
351
315
  // (Copilot, #269).
352
316
  const council = seats > 0 ? `a ${seats}-seat council` : 'a council';
353
- narrate(flight, `Convening ${council} to pick who reworks ${blocks}…`);
317
+ narrate(flight, units.isWriter(ord)
318
+ ? `Convening ${council} to pick who reworks ${blocks}…`
319
+ : `Convening ${council} to pick who runs ${units.idAt(ord)}…`);
354
320
  return;
355
321
  }
356
322
  if (event.type === 'unitDistributed') {
357
- if (isFloorOrd(event))
323
+ const ord = ordOf(event);
324
+ if (units.isTool(ord))
358
325
  return;
359
326
  // One helper narrates the frame by `routingMethod` (S5 `teamed` = "Routed …", a recorded
360
327
  // council = "Council picked …" honest about its benched seats, F-4R2-007).
361
- narrate(flight, unitDistributedLine(event, `to rework ${blocks}`));
328
+ narrate(flight, unitDistributedLine(event, units.isWriter(ord) ? `to rework ${blocks}` : `for ${units.idAt(ord)}`));
362
329
  return;
363
330
  }
364
331
  if (event.type === 'unitDispatched') {
365
- if (isFloorOrd(event)) {
366
- narrate(flight, 'Checking the edited fragment files were actually written…');
367
- return;
368
- }
369
- narrate(flight, `Crew is reworking ${blocks}…`);
332
+ const ord = ordOf(event);
333
+ narrate(flight, units.isWriter(ord)
334
+ ? `Crew is reworking ${blocks}…`
335
+ : units.isEvaluator(ord)
336
+ ? `Crew is reviewing the rework (${units.idAt(ord)})…`
337
+ : `Crew phase ${units.position(ord)}: ${units.idAt(ord)}…`);
338
+ return;
339
+ }
340
+ // A preset run can pause for a person (the plan approval of a high-risk ask, crew#935): say so
341
+ // and where to answer, rather than repeat the last working line. A plan edited at that gate can
342
+ // drop or reorder pending units, so the fold is re-read from the run when it resumes.
343
+ if (event.type === 'awaitingHuman') {
344
+ narrate(flight, awaitingHumanLine(event, runId, units));
345
+ return;
346
+ }
347
+ if (event.type === 'resumed') {
348
+ if (planned !== undefined)
349
+ resync.hold(runId, resyncRunUnits(adapter, runId, planned));
370
350
  return;
371
351
  }
372
352
  if (event.type === 'toolInvoked') {
@@ -376,15 +356,20 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
376
356
  return;
377
357
  }
378
358
  if (event.type === 'unitOutputCaptured') {
379
- narrate(flight, `Rework finished — the governance gate is reviewing it…`);
359
+ const ord = ordOf(event);
360
+ narrate(flight, units.isWriter(ord)
361
+ ? 'Rework finished — the governance gate is reviewing it…'
362
+ : `${units.idAt(ord)} finished — the governance gate is reviewing it…`);
380
363
  return;
381
364
  }
382
365
  if (event.type === 'gateDecided' && event.allow === true) {
383
- const ord = typeof event.ord === 'number' ? event.ord : 0;
384
- // ord > the def's own phase count = the crew#311 deliverable floor, appended per-run.
385
- narrate(flight, ord > agentPhaseCount
386
- ? 'Edited fragments verified on disk — landing the new version now…'
387
- : 'Gate approved the edit — checking the fragment files landed…');
366
+ const ord = ordOf(event);
367
+ // The gate's approval is not the file check: a plan revised mid-run can move which creator
368
+ // carries the deliverable (codex r7 on #938), so the line claims no verification — crew's
369
+ // finalize re-derives the file before anything lands.
370
+ narrate(flight, units.isWriter(ord)
371
+ ? 'Gate approved the edit — crew checks the fragment files before they land…'
372
+ : `Gate approved ${units.idAt(ord)} — moving on…`);
388
373
  return;
389
374
  }
390
375
  // Wave 6 — the honest gate (F-7R2-005): a unit NOTHING gated must read as UNGATED in the thread,
@@ -433,7 +418,9 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
433
418
  });
434
419
  log(`[interactive-edit] run ${runId} for handoff ${flight.key} ended: ${event.type}`);
435
420
  }
436
- });
421
+ };
422
+ const resync = new ResyncGate(foldEvent);
423
+ const offCoreEvents = adapter.onEvent((event) => resync.deliver(event));
437
424
  async function finalize(flight, runId) {
438
425
  const { documentId, projectId, version, key, items } = flight;
439
426
  // The deterministic pre-emit self-check (INV-2 at scale): a violating fragment would be
@@ -566,10 +553,8 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
566
553
  // The quality floor on a revision (draft-skill.ts): the edited fragments are what land,
567
554
  // so the self-check runs on each item's output_path — no page budget applies to a fragment
568
555
  // (the document's count is the service's to keep), no snapshot rides this leg.
569
- (draftSkillHeld
570
- ? ' ' +
571
- draftQualityClause('each item\'s output_path from the handoff file', { pages: null, exact: false, source: 'unknown' }, [], { revision: true, style: 'doc' })
572
- : ''),
556
+ ' ' +
557
+ draftQualityClause('each item\'s output_path from the handoff file', { pages: null, exact: false, source: 'unknown' }, [], { revision: true, style: 'doc' }),
573
558
  sessionId: runId,
574
559
  clisJson: opts.clisJson ?? JSON.stringify(rosterOf(adapter, opts.roster)),
575
560
  workflow: INTERACTIVE_EDIT_WORKFLOW,
@@ -595,9 +580,11 @@ export async function startInteractiveEditSubscriber(adapter, opts = {}) {
595
580
  // whose Writes were denied as long as it narrated ~200 characters first.
596
581
  requireDeliverables: items.map((i) => i.output_path),
597
582
  };
583
+ unitsByRun.set(runId, new RunUnits()); // before the launch: its first plan is announced during it
598
584
  await adapter.launchRun(input);
599
585
  }
600
586
  catch (err) {
587
+ unitsByRun.delete(runId);
601
588
  // The 'processing' status is already on the thread — close it out honestly so the
602
589
  // canvas never sits in an in-between state on a launch that went nowhere.
603
590
  const reason = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"edit-events.js","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-events.js","sourceRoot":"","sources":["../../src/interactive/edit-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,EAEZ,QAAQ,EAER,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAkB,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAA4B,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AAEpF,gGAAgG;AAGhG,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAElE,gGAAgG;AAChG,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;AAEzF,gGAAgG;AAEhG;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAqB5D;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,OAAgB;IACzE,IAAI,SAAS,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,CAAC,GAAG,OAAkC,CAAC;IAC7C,0FAA0F;IAC1F,0FAA0F;IAC1F,yDAAyD;IACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC7D,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YACzE,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,SAAS,GACb,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,OAAe;IAC5D,OAAO,GAAG,UAAU,KAAK,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,OAAe;IACpE,OAAO,yBAAyB,UAAU,KAAK,OAAO,EAAE,CAAC;AAC3D,CAAC;AAQD;yEACyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,OAA0B,EAAE,MAAc;IACzE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;KACpD,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,OAA0B,EAC1B,WAAmB,EACnB,MAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1G,gGAAgG;IAChG,gGAAgG;IAChG,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,CACL,UAAU,OAAO,CAAC,KAAK,CAAC,MAAM,yDAAyD;QACvF,IAAI,OAAO,CAAC,UAAU,sBAAsB,OAAO,CAAC,OAAO,8BAA8B;QACzF,GAAG,WAAW,8EAA8E;QAC5F,2FAA2F;QAC3F,2BAA2B,MAAM,GAAG,OAAO,mBAAmB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CACjH,CAAC;AACJ,CAAC;AAED,gGAAgG;AAEhG,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC,CAAC;AAClF,CAAC;AAED;;;iCAGiC;AACjC,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAa;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,OAAO,GAAkD,EAAE,CAAC;IAClE,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,yBAAyB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClG,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,0CAA0C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACvE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAkFD;;+EAE+E;AAC/E,SAAS,eAAe;IACtB,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;2CAM2C;AAC3C,SAAS,QAAQ,CAAC,OAAoB,EAAE,MAAwB;IAC9D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAI,OAAyD,CAAC,YAAY,CAAC;IACpF,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,OAAQ,OAAO,CAAC,WAAkD,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAoB,EACpB,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,wFAAwF;IACxF,kGAAkG;IAClG,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,gCACE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrD,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yFAAyF;IACzF,4FAA4F;IAC5F,GAAG,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAElG,MAAM,MAAM,GAAG,IAAI,wBAAwB,CACzC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,8BAA8B,CAAC,CAC3E,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,qBAAqB;IACnE,iGAAiG;IACjG,kGAAkG;IAClG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C;;+GAE2G;IAC3G,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,OAAgC,EAChC,cAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,EAAE;gBACzB,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;gBAC1D,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE;gBACrD,WAAW,EAAE,oBAAoB;gBACjC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CACD,2BAA2B,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;6GACyG;IACzG,SAAS,UAAU,CAAC,OAA0B;QAC5C,OAAO,eAAe,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,OAAO,CAAC,MAAgB,EAAE,OAAe;QAChD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;YAChD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,SAAS;YAChB,OAAO;YACP,GAAG,eAAe,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;6FACyF;IACzF,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAQ,EAAE;QAC3C,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,gGAAgG;QAChG,gGAAgG;QAChG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;QACvB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;QAEnE,wFAAwF;QACxF,oFAAoF;QACpF,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC;QAE9F,+FAA+F;QAC/F,mEAAmE;QACnE,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,OAAO;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,yFAAyF;YACzF,mBAAmB;YACnB,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;YACpE,OAAO,CACL,MAAM,EACN,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,aAAa,OAAO,wBAAwB,MAAM,GAAG;gBACvD,CAAC,CAAC,aAAa,OAAO,qBAAqB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAChE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,OAAO;YAC9B,yFAAyF;YACzF,2EAA2E;YAC3E,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpH,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,CACL,MAAM,EACN,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,qBAAqB,MAAM,GAAG;gBAChC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;oBACtB,CAAC,CAAC,iCAAiC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;oBACtD,CAAC,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAC/D,CAAC;YACF,OAAO;QACT,CAAC;QAED,+FAA+F;QAC/F,gGAAgG;QAChG,sFAAsF;QACtF,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,MAAM,GAAG,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,CACL,MAAM,EACN,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,wDAAwD;gBAC1D,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kDAAkD,CACzE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,2FAA2F;YAC3F,0FAA0F;YAC1F,sDAAsD;YACtD,OAAO,CACL,MAAM,EACN,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,2EAA2E;gBAC7E,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CACpD,CAAC;YACF,OAAO;QACT,CAAC;QAED,iGAAiG;QACjG,iGAAiG;QACjG,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;QAED,4FAA4F;QAC5F,6FAA6F;QAC7F,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,mFAAmF;YACnF,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAC7C,GAAG,CAAC,qCAAqC,KAAK,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAC9G,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,kFAAkF;YAClF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,GAAG,GACP,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;gBAChD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,oCAAoC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,GAAG;oBACjG,QAAQ,KAAK,KAAK,GAAG,kDAAkD,KAAK,yCAAyC;aACxH,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,KAAK,gBAAgB,MAAM,CAAC,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnF,KAAK,UAAU,QAAQ,CAAC,MAAgB,EAAE,KAAa;QACrD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAC9D,wFAAwF;QACxF,0FAA0F;QAC1F,qEAAqE;QACrE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;gBAClC,OAAO;gBACP,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,wEAAwE,MAAM,GAAG;oBACjF,QAAQ,KAAK,mFAAmF;aACnG,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,KAAK,+BAA+B,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QACD,kFAAkF;QAClF,mGAAmG;QACnG,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,cAAc,EACd,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EACxD,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CACxC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,0EAA0E;YAC1E,oFAAoF;YACpF,+EAA+E;YAC/E,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;gBAClC,OAAO;gBACP,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,oEAAoE,KAAK,KAAK;oBAC9E,iFAAiF;aACpF,CAAC,CAAC;YACH,GAAG,CAAC,qDAAqD,GAAG,SAAS,KAAK,yBAAyB,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;YAClC,OAAO;YACP,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,yDAAyD;SACnE,CAAC,CAAC;QACH,GAAG,CAAC,iDAAiD,GAAG,SAAS,KAAK,KAAK,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;IAC5G,CAAC;IAED,KAAK,UAAU,uBAAuB,CAAC,KAAe;QACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAE7B,2FAA2F;QAC3F,4FAA4F;QAC5F,8FAA8F;QAC9F,+FAA+F;QAC/F,gGAAgG;QAChG,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7E,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1C,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;YACH,8EAA8E;YAC9E,GAAG,CACD,0BAA0B,OAAO,CAAC,UAAU,kCAAkC,OAAO,CAAC,OAAO,GAAG;gBAC9F,8EAA8E,CACjF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,qFAAqF;QACrF,sFAAsF;QACtF,uFAAuF;QACvF,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CACD,8BAA8B,GAAG,0BAA0B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,oBAAoB,CACtG,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;QAC5B,CAAC;QAED,6FAA6F;QAC7F,8FAA8F;QAC9F,4FAA4F;QAC5F,0FAA0F;QAC1F,2EAA2E;QAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACjD,aAAa,CACX,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAC7F,MAAM,CACP,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;YAClD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,mDAAmD,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,GAAG;SAC3H,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4FAA4F;QAC5F,wFAAwF;QACxF,yFAAyF;QACzF,2FAA2F;QAC3F,+FAA+F;QAC/F,EAAE;QACF,+FAA+F;QAC/F,8FAA8F;QAC9F,4FAA4F;QAC5F,iGAAiG;QACjG,IAAI,mBAAmB,GAA+B,IAAI,CAAC;QAC3D,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAC5F,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EACJ,kDAAkD;oBAClD,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;oBACzD,wCAAwC;aAC3C,CAAC,CACH,CAAC;YACF,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAmB;gBAC5B,mFAAmF;gBACnF,0FAA0F;gBAC1F,2FAA2F;gBAC3F,6FAA6F;gBAC7F,OAAO,EACL,WAAW,CACT,OAAO,EACP,WAAW,EACX,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7E;oBACD,wFAAwF;oBACxF,2FAA2F;oBAC3F,+EAA+E;oBAC/E,GAAG;oBACH,kBAAkB,CAChB,gDAAgD,EAChD,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAChD,EAAE,EACF,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CACjC;gBACH,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzE,QAAQ,EAAE,yBAAyB;gBACnC,oFAAoF;gBACpF,gEAAgE;gBAChE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,0FAA0F;gBAC1F,2FAA2F;gBAC3F,wFAAwF;gBACxF,2FAA2F;gBAC3F,8EAA8E;gBAC9E,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,sFAAsF;gBACtF,sFAAsF;gBACtF,qFAAqF;gBACrF,sFAAsF;gBACtF,uFAAuF;gBACvF,gEAAgE;gBAChE,eAAe,EAAE,CAAC,MAAM,CAAC;gBACzB,wFAAwF;gBACxF,wFAAwF;gBACxF,mFAAmF;gBACnF,yEAAyE;gBACzE,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aACrD,CAAC;YACF,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,2DAA2D;YAClG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,kFAAkF;YAClF,0EAA0E;YAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,6CAA6C,MAAM,wCAAwC;aACrG,CAAC,CAAC;YACH,yFAAyF;YACzF,qFAAqF;YACrF,0FAA0F;YAC1F,gCAAgC;YAChC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,wFAAwF;QACxF,qFAAqF;QACrF,0DAA0D;QAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjF,MAAM,MAAM,GAAa;YACvB,GAAG;YACH,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK;YACL,SAAS,EAAE,2CAA2C;YACtD,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;gBAC1B,oFAAoF;gBACpF,2CAA2C;gBAC3C,UAAU,CAAC;oBACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;oBAChD,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,MAAM,CAAC,SAAS;oBACzB,GAAG,eAAe,CAAC,MAAM,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC,EAAE,WAAW,CAAC;YACf,oDAAoD;SACrD,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,8BAA8B,GAAG,mBAAmB,KAAK,KAAK,KAAK,CAAC,MAAM,qBAAqB,WAAW,GAAG,CAAC,CAAC;IACrH,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;QACvB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,2BAA2B;QACnC,2FAA2F;QAC3F,yFAAyF;QACzF,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;QAC3C,wFAAwF;QACxF,mFAAmF;QACnF,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAC5D,OAAO,EAAE,0BAA0B,CAAC;YAClC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACvB,6CAA6C,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE;YAC/F,GAAG;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;SAC5C,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,aAAa,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * The units of an interactive run, as the engine plans them (crew#935, X-MIG M9).
3
+ *
4
+ * `interactive-chat`, `interactive-draft` and `interactive-edit` are wicked-core built-in presets
5
+ * (wicked-core#860). Crew no longer registers a def for them, so it cannot count phases from a
6
+ * def: the run carries the PA's `pa-scope` step first, the engine's floor additions (`critique`,
7
+ * and at higher bands more), and no crew deliverable-floor unit (the engine's floor rides the last
8
+ * creator step). The narration reads the run's own plan instead, from its `unitPlanned` frames.
9
+ *
10
+ * A `unitPlanned` frame names one NEW unit at its ord. A re-plan (after the PA rates the run, the
11
+ * floor adds steps) announces only the units it adds and moves the later ones down, so each new
12
+ * unit is inserted at its ord in the ordered list and the units after it shift by one, as the
13
+ * engine shifts them. The step id is the description's leading token (the engine writes
14
+ * `<step id> — <intent> ||| <instructions>`).
15
+ *
16
+ * A plan edited at a plan-approval gate can also DROP or reorder pending units, which no frame
17
+ * announces; so when the run resumes the fold is re-read from the run's own unit list
18
+ * ({@link resyncRunUnits}).
19
+ */
20
+ import type { CoreAdapter } from '../core/adapter.js';
21
+ import type { CoreEvent } from '../core/types.js';
22
+ /** One planned unit, as narration needs it. */
23
+ export interface PlannedUnit {
24
+ /** The plan step id (`pa-scope`, `draft`, `critique`, …). */
25
+ id: string;
26
+ /** `creator` | `evaluator` | `neutral`. */
27
+ role: string;
28
+ /** A deterministic tool unit (no seat, no council). */
29
+ tool: boolean;
30
+ }
31
+ /** The {@link PlannedUnit} and its ord a `unitPlanned` frame announces, or `null` for any other frame. */
32
+ export declare function plannedUnitOf(event: CoreEvent): {
33
+ ord: number;
34
+ unit: PlannedUnit;
35
+ } | null;
36
+ /** A step id as a narration line reads it: the PA's rating step says what it does. */
37
+ export declare function describeStep(id: string): string;
38
+ /** The run's planned units in ord order (ord n = index n − 1). */
39
+ export declare class RunUnits {
40
+ /** A hole is a unit the fold has not seen announced (it keeps the later ords honest). */
41
+ private readonly units;
42
+ /** Fold one engine frame; `true` when it was a `unitPlanned` frame. */
43
+ observe(event: CoreEvent): boolean;
44
+ /** Replace the whole list with the run's units as the engine holds them (ord order). */
45
+ replace(units: readonly PlannedUnit[]): void;
46
+ /** The unit at `ord`, or `undefined` before the engine planned it. */
47
+ at(ord: number): PlannedUnit | undefined;
48
+ /** The step id at `ord` (`phase <ord>` before it is planned). */
49
+ idAt(ord: number): string;
50
+ /** A deterministic tool unit: it has no seat, so its council and routing frames are not narrated. */
51
+ isTool(ord: number): boolean;
52
+ /** The unit narrated as writing the document: the LAST agent creator (the engine joins the
53
+ * launch's declared deliverables to the plan's last creator step at launch). A label only — a plan
54
+ * revised mid-run can add a later creator, so no line claims a file check from it (codex r7). */
55
+ isWriter(ord: number): boolean;
56
+ /** An evaluator unit (the engine's `critique`, a review). */
57
+ isEvaluator(ord: number): boolean;
58
+ /** `"<ord>/<units>"`, or `"<ord>"` before any unit is planned. */
59
+ position(ord: number): string;
60
+ }
61
+ /** One unit of the run as `SessionView.units[]` carries it (the fields the fold reads). */
62
+ export interface RunUnitRow {
63
+ id: string;
64
+ ord: number;
65
+ role?: string | null | undefined;
66
+ tool_cmd?: string[] | null | undefined;
67
+ }
68
+ /** The run's units as {@link PlannedUnit}s in ord order; the step id is the unit id after `<run>:`. */
69
+ export declare function plannedUnitsOfRun(runId: string, rows: readonly RunUnitRow[]): PlannedUnit[];
70
+ /**
71
+ * Re-read `units` from the run's own unit list (after a gate the plan may have been edited at).
72
+ * Narration only: an engine that cannot answer leaves the fold as it was, and nothing throws.
73
+ */
74
+ export declare function resyncRunUnits(adapter: CoreAdapter, runId: string, units: RunUnits): Promise<void>;
75
+ /** The thread line for a run paused for a person (`awaitingHuman`): what it waits on and where to answer. */
76
+ export declare function awaitingHumanLine(event: CoreEvent, runId: string, units: RunUnits): string;
77
+ /**
78
+ * Holds a run's engine frames while its fold is re-read ({@link resyncRunUnits}), then replays them
79
+ * in order: a dispatch that follows `resumed` must be narrated against the REFRESHED units, not the
80
+ * list a gate edit just changed (codex r2 on crew#938). Frames of other runs pass straight through.
81
+ */
82
+ export declare class ResyncGate {
83
+ private readonly fold;
84
+ private readonly held;
85
+ constructor(fold: (event: CoreEvent) => void);
86
+ /** Deliver one engine frame: folded now, or queued behind its run's pending re-read. */
87
+ deliver(event: CoreEvent): void;
88
+ /** Queue `runId`'s frames until `refresh` settles, then replay them through the fold. */
89
+ hold(runId: string, refresh: Promise<void>): void;
90
+ }
91
+ //# sourceMappingURL=run-units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-units.d.ts","sourceRoot":"","sources":["../../src/interactive/run-units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;CACf;AAED,0GAA0G;AAC1G,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAczF;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,kEAAkE;AAClE,qBAAa,QAAQ;IACnB,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAE5D,uEAAuE;IACvE,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWlC,wFAAwF;IACxF,OAAO,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI;IAI5C,sEAAsE;IACtE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIxC,iEAAiE;IACjE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzB,qGAAqG;IACrG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B;;sGAEkG;IAClG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK9B,6DAA6D;IAC7D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG9B;AAED,2FAA2F;AAC3F,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC;AAED,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,WAAW,EAAE,CAS3F;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxG;AAED,6GAA6G;AAC7G,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAa1F;AAED;;;;GAIG;AACH,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;gBAE1B,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAE7D,wFAAwF;IACxF,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAU/B,yFAAyF;IACzF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAWlD"}
@@ -0,0 +1,149 @@
1
+ /** The {@link PlannedUnit} and its ord a `unitPlanned` frame announces, or `null` for any other frame. */
2
+ export function plannedUnitOf(event) {
3
+ if (event.type !== 'unitPlanned' || typeof event.ord !== 'number' || event.ord < 1)
4
+ return null;
5
+ const description = typeof event.description === 'string' ? event.description.trim() : '';
6
+ const id = description.split(/\s/, 1)[0] ?? '';
7
+ if (id === '')
8
+ return null;
9
+ const e = event;
10
+ return {
11
+ ord: event.ord,
12
+ unit: {
13
+ id,
14
+ role: typeof e.role === 'string' ? e.role : 'neutral',
15
+ tool: e.executorType === 'tool',
16
+ },
17
+ };
18
+ }
19
+ /** A step id as a narration line reads it: the PA's rating step says what it does. */
20
+ export function describeStep(id) {
21
+ return id === 'pa-scope' ? 'rating the ask before the work starts (pa-scope)' : id;
22
+ }
23
+ /** The run's planned units in ord order (ord n = index n − 1). */
24
+ export class RunUnits {
25
+ /** A hole is a unit the fold has not seen announced (it keeps the later ords honest). */
26
+ units = [];
27
+ /** Fold one engine frame; `true` when it was a `unitPlanned` frame. */
28
+ observe(event) {
29
+ const planned = plannedUnitOf(event);
30
+ if (planned === null)
31
+ return false;
32
+ const { ord, unit } = planned;
33
+ const at = this.units.findIndex((u) => u?.id === unit.id);
34
+ if (at !== -1)
35
+ this.units.splice(at, 1); // a re-announced unit moves, never duplicates
36
+ while (this.units.length < ord - 1)
37
+ this.units.push(undefined);
38
+ this.units.splice(ord - 1, 0, unit);
39
+ return true;
40
+ }
41
+ /** Replace the whole list with the run's units as the engine holds them (ord order). */
42
+ replace(units) {
43
+ this.units.splice(0, this.units.length, ...units);
44
+ }
45
+ /** The unit at `ord`, or `undefined` before the engine planned it. */
46
+ at(ord) {
47
+ return this.units[ord - 1];
48
+ }
49
+ /** The step id at `ord` (`phase <ord>` before it is planned). */
50
+ idAt(ord) {
51
+ return this.at(ord)?.id ?? `phase ${ord}`;
52
+ }
53
+ /** A deterministic tool unit: it has no seat, so its council and routing frames are not narrated. */
54
+ isTool(ord) {
55
+ return this.at(ord)?.tool === true;
56
+ }
57
+ /** The unit narrated as writing the document: the LAST agent creator (the engine joins the
58
+ * launch's declared deliverables to the plan's last creator step at launch). A label only — a plan
59
+ * revised mid-run can add a later creator, so no line claims a file check from it (codex r7). */
60
+ isWriter(ord) {
61
+ const isCreator = (u) => u !== undefined && !u.tool && u.role === 'creator';
62
+ return isCreator(this.at(ord)) && !this.units.slice(ord).some(isCreator);
63
+ }
64
+ /** An evaluator unit (the engine's `critique`, a review). */
65
+ isEvaluator(ord) {
66
+ return this.at(ord)?.role === 'evaluator';
67
+ }
68
+ /** `"<ord>/<units>"`, or `"<ord>"` before any unit is planned. */
69
+ position(ord) {
70
+ return this.units.length > 0 ? `${ord}/${Math.max(this.units.length, ord)}` : `${ord}`;
71
+ }
72
+ }
73
+ /** The run's units as {@link PlannedUnit}s in ord order; the step id is the unit id after `<run>:`. */
74
+ export function plannedUnitsOfRun(runId, rows) {
75
+ const prefix = `${runId}:`;
76
+ return [...rows]
77
+ .sort((a, b) => a.ord - b.ord)
78
+ .map((r) => ({
79
+ id: r.id.startsWith(prefix) ? r.id.slice(prefix.length) : r.id,
80
+ role: typeof r.role === 'string' ? r.role : 'neutral',
81
+ tool: Array.isArray(r.tool_cmd) && r.tool_cmd.length > 0,
82
+ }));
83
+ }
84
+ /**
85
+ * Re-read `units` from the run's own unit list (after a gate the plan may have been edited at).
86
+ * Narration only: an engine that cannot answer leaves the fold as it was, and nothing throws.
87
+ */
88
+ export async function resyncRunUnits(adapter, runId, units) {
89
+ if (typeof adapter.sessionsDetail !== 'function')
90
+ return;
91
+ try {
92
+ const view = (await adapter.sessionsDetail()).find((v) => v.session.id === runId);
93
+ if (view !== undefined && view.units.length > 0) {
94
+ units.replace(plannedUnitsOfRun(runId, view.units));
95
+ }
96
+ }
97
+ catch {
98
+ // The fold keeps what the frames said.
99
+ }
100
+ }
101
+ /** The thread line for a run paused for a person (`awaitingHuman`): what it waits on and where to answer. */
102
+ export function awaitingHumanLine(event, runId, units) {
103
+ const e = event;
104
+ const ord = typeof event.ord === 'number' ? event.ord : 0;
105
+ const prompt = typeof e.prompt === 'string' ? e.prompt.replace(/\s+/g, ' ').trim() : '';
106
+ const why = e.gateKind === 'plan_approval'
107
+ ? 'the plan needs approval before the work starts'
108
+ : `${units.idAt(ord)} needs a person`;
109
+ const clipped = prompt.length > 160 ? `${prompt.slice(0, 157)}…` : prompt;
110
+ return (`The run is paused: ${why}${clipped !== '' ? ` (${clipped})` : ''}. Answer it on run ${runId} ` +
111
+ `(studio → Runs); the document lands after that.`);
112
+ }
113
+ /**
114
+ * Holds a run's engine frames while its fold is re-read ({@link resyncRunUnits}), then replays them
115
+ * in order: a dispatch that follows `resumed` must be narrated against the REFRESHED units, not the
116
+ * list a gate edit just changed (codex r2 on crew#938). Frames of other runs pass straight through.
117
+ */
118
+ export class ResyncGate {
119
+ fold;
120
+ held = new Map();
121
+ constructor(fold) {
122
+ this.fold = fold;
123
+ }
124
+ /** Deliver one engine frame: folded now, or queued behind its run's pending re-read. */
125
+ deliver(event) {
126
+ const runId = typeof event.session === 'string' ? event.session : undefined;
127
+ const queue = runId === undefined ? undefined : this.held.get(runId);
128
+ if (queue !== undefined) {
129
+ queue.push(event);
130
+ return;
131
+ }
132
+ this.fold(event);
133
+ }
134
+ /** Queue `runId`'s frames until `refresh` settles, then replay them through the fold. */
135
+ hold(runId, refresh) {
136
+ if (this.held.has(runId))
137
+ return; // already held: the pending re-read covers this one
138
+ this.held.set(runId, []);
139
+ void refresh
140
+ .catch(() => undefined)
141
+ .then(() => {
142
+ const queue = this.held.get(runId) ?? [];
143
+ this.held.delete(runId);
144
+ for (const e of queue)
145
+ this.deliver(e);
146
+ });
147
+ }
148
+ }
149
+ //# sourceMappingURL=run-units.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-units.js","sourceRoot":"","sources":["../../src/interactive/run-units.ts"],"names":[],"mappings":"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"}