@sentropic/track 0.20.0 → 0.21.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 (43) hide show
  1. package/dist/cli/index.d.ts.map +1 -1
  2. package/dist/cli/index.js +57 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/restructure-apply.d.ts +53 -0
  5. package/dist/cli/restructure-apply.d.ts.map +1 -0
  6. package/dist/cli/restructure-apply.js +183 -0
  7. package/dist/cli/restructure-apply.js.map +1 -0
  8. package/dist/ingest/contract.d.ts +10 -2
  9. package/dist/ingest/contract.d.ts.map +1 -1
  10. package/dist/ingest/contract.js +30 -1
  11. package/dist/ingest/contract.js.map +1 -1
  12. package/dist/ingest/ingest.d.ts +1 -1
  13. package/dist/ingest/ingest.d.ts.map +1 -1
  14. package/dist/ingest/ingest.js +20 -0
  15. package/dist/ingest/ingest.js.map +1 -1
  16. package/dist/ingest/map.d.ts.map +1 -1
  17. package/dist/ingest/map.js +5 -0
  18. package/dist/ingest/map.js.map +1 -1
  19. package/dist/mcp/server.d.ts +7 -0
  20. package/dist/mcp/server.d.ts.map +1 -1
  21. package/dist/mcp/server.js +7 -0
  22. package/dist/mcp/server.js.map +1 -1
  23. package/dist/read/contract.d.ts +9 -2
  24. package/dist/read/contract.d.ts.map +1 -1
  25. package/dist/read/contract.js +15 -4
  26. package/dist/read/contract.js.map +1 -1
  27. package/dist/read/index.d.ts +1 -0
  28. package/dist/read/index.d.ts.map +1 -1
  29. package/dist/read/index.js +3 -0
  30. package/dist/read/index.js.map +1 -1
  31. package/dist/report/audit.d.ts +27 -0
  32. package/dist/report/audit.d.ts.map +1 -0
  33. package/dist/report/audit.js +120 -0
  34. package/dist/report/audit.js.map +1 -0
  35. package/dist/report/rollup.d.ts +26 -0
  36. package/dist/report/rollup.d.ts.map +1 -1
  37. package/dist/report/rollup.js +60 -0
  38. package/dist/report/rollup.js.map +1 -1
  39. package/dist/track.d.ts +14 -0
  40. package/dist/track.d.ts.map +1 -1
  41. package/dist/track.js +38 -0
  42. package/dist/track.js.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACzB;AAgQD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyH7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACzB;AAkQD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+H7E"}
package/dist/cli/index.js CHANGED
@@ -12,6 +12,7 @@ import { formatRows } from '../report/format.js';
12
12
  import { Track } from '../track.js';
13
13
  import { BLOCKER_KINDS, BLOCKER_SCOPES, DECISION_KINDS, DISPOSITIONS, EVIDENCE_KINDS, GATES, ITEM_KINDS, ITEM_ROLES, OUTCOMES, REALIZE_TARGETS, RESOLUTION_RULES, RESULTS, SPEC_TARGETS, } from '../ingest/contract.js';
14
14
  import { ingest } from '../ingest/ingest.js';
15
+ import { applyRestructurePlan } from './restructure-apply.js';
15
16
  import { TrackReader } from '../read/contract.js';
16
17
  import { queryText, reportText, statusText } from '../read/commands.js';
17
18
  import { STATUS_LEVELS } from '../report/status-by-level.js';
@@ -50,8 +51,10 @@ const USAGE = `usage: track <command>
50
51
  workspace-activity --workspace <id> [--baseline-commit <sha>] [--now <iso>] [--idle-ms <ms>] [--format json|text]
51
52
  scope validate --workspace <id> [--baseline-commit <sha>] [--content <path>] [--locator <l>] [--claimed-item <id>] [--infer-delivered-out-of-scope] [--format json|text]
52
53
  validate [--commit <sha>]
54
+ audit [--format json|text]
53
55
  focus <decision-id> --workspace <w> [--format terminal|md|html] [--baseline-commit <sha>]
54
56
  branch import <BRANCH.md> [--commit <sha>]
57
+ restructure apply --plan <plan.json>
55
58
  ingest <file.jsonl> --workspace <w>
56
59
  install-skills --host <claude|codex|gemini|agy|all> [--scope user|project] [--force]
57
60
  workspace-id [--cwd <path>]
@@ -305,6 +308,7 @@ export function runCli(rawArgv, io) {
305
308
  case 'validate':
306
309
  case 'scope':
307
310
  case 'focus':
311
+ case 'audit':
308
312
  case 'workspace-activity': {
309
313
  const trackDir = resolveTrackDirOrNull(resolveOpts);
310
314
  if (trackDir === null) {
@@ -335,6 +339,8 @@ export function runCli(rawArgv, io) {
335
339
  return cmdFocus(rest, ctx, trackDir === null);
336
340
  case 'workspace-activity':
337
341
  return cmdWorkspaceActivity(rest, ctx);
342
+ case 'audit':
343
+ return cmdAudit(rest, ctx);
338
344
  }
339
345
  io.err(USAGE);
340
346
  return 2;
@@ -349,11 +355,14 @@ export function runCli(rawArgv, io) {
349
355
  case 'consolidate':
350
356
  case 'priority':
351
357
  case 'branch':
358
+ case 'restructure':
352
359
  case 'ingest': {
353
360
  const ctx = { io, eventsPath: eventsPathOf(resolveTrackDir(resolveOpts)) };
354
361
  switch (cmd) {
355
362
  case 'item':
356
363
  return cmdItem(rest, ctx);
364
+ case 'restructure':
365
+ return cmdRestructure(rest, ctx);
357
366
  case 'decision':
358
367
  return cmdDecision(rest, ctx);
359
368
  case 'blocker':
@@ -536,6 +545,54 @@ function cmdItem(args, ctx) {
536
545
  io.err('usage: track item <new|reparent|scope-declare|spec-amend|spec|realize|show|ls>\n');
537
546
  return 2;
538
547
  }
548
+ /**
549
+ * DESIGN R4 — `track audit [--format json|text]`: the deterministic structural findings (read-only). Serves
550
+ * empty on an unadopted repo (the reader over a nonexistent log reads empty).
551
+ */
552
+ function cmdAudit(args, ctx) {
553
+ const { io } = ctx;
554
+ const { flags } = parseFlags(args);
555
+ const findings = new TrackReader(ctx.eventsPath).audit();
556
+ if ((opt(flags, 'format') ?? 'text') === 'json') {
557
+ io.out(`${JSON.stringify(findings, null, 2)}\n`);
558
+ return 0;
559
+ }
560
+ if (findings.length === 0) {
561
+ io.out('no findings\n');
562
+ return 0;
563
+ }
564
+ for (const f of findings) {
565
+ const subject = f.itemId ?? f.wpRootId ?? (f.itemIds !== undefined ? f.itemIds.join(',') : f.workspace) ?? '';
566
+ io.out(`[${f.severity}] ${f.kind} ${subject}: ${f.detail}\n`);
567
+ }
568
+ return 0;
569
+ }
570
+ /**
571
+ * DESIGN R5 — `track restructure apply --plan <plan.json>`: apply a RATIFIED restructuring plan (the only
572
+ * caller that opens an `item.restructure`-granting channel). Append-only + idempotent (clientToken dedup);
573
+ * the post-apply intention/closure/orphan GATE throws a DomainError (→ rc=1) on any violation.
574
+ */
575
+ function cmdRestructure(args, ctx) {
576
+ const { io } = ctx;
577
+ const sub = args[0];
578
+ const { flags } = parseFlags(args.slice(1));
579
+ if (sub !== 'apply') {
580
+ io.err('usage: track restructure apply --plan <plan.json>\n');
581
+ return 2;
582
+ }
583
+ const planFile = req(flags, 'plan');
584
+ const raw = readFileSync(isAbsolute(planFile) ? planFile : join(io.cwd, planFile), 'utf8');
585
+ let plan;
586
+ try {
587
+ plan = JSON.parse(raw);
588
+ }
589
+ catch {
590
+ throw new DomainError('restructure apply: --plan must be a valid JSON plan file');
591
+ }
592
+ const res = applyRestructurePlan(ctx.eventsPath, plan, { by: cliActor(io.cwd) });
593
+ io.out(`applied ${res.applied} edge(s) of ${res.edges} (${res.alreadyApplied} already applied) [plan ${res.planHash}]\n`);
594
+ return 0;
595
+ }
539
596
  function cmdDecision(args, ctx) {
540
597
  const { io } = ctx;
541
598
  const sub = args[0];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAInF,OAAO,EAAE,WAAW,EAAgH,MAAM,kBAAkB,CAAA;AAE5J,OAAO,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,YAAY,GAEb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAqB5C,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCb,CAAA;AAED,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,iGAAiG;AACjG,4EAA4E;AAC5E,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAU,CAAA;AACvF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAA;AAC/C,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAU,CAAA;AACpE,uFAAuF;AACvF,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAU,CAAA;AAC3E,0GAA0G;AAC1G,uGAAuG;AACvG,6DAA6D;AAC7D,MAAM,sBAAsB,GAAG,CAAC,sBAAsB,EAAE,eAAe,EAAE,QAAQ,CAAU,CAAA;AAE3F,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAO,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;AACvC,CAAC;AACD,SAAS,KAAK,CAAC,GAAQ;IACrB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;AACvC,CAAC;AACD,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,wFAAwF;QACxF,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YAChD,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,CAAqB;IACvD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE;YACzF,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB;IACzC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;IACrE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC5D,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACrE,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACjE,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACtF,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;IAC5C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;YAC3D,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;YACrE,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,QAAQ,GAAG,EAAE,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3E,OAAO,cAAc,IAAI,IAAI,IAAI,EAAE,CAAA;AACrC,CAAC;AAED,8FAA8F;AAC9F,gGAAgG;AAChG,MAAM,QAAQ,GAAe,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;AAEtF,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YAC1D,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,IAAI,KAAK;YAAE,OAAO,SAAS,KAAK,EAAE,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;AAC/C,CAAC;AAED,iGAAiG;AACjG,SAAS,UAAU,CAAC,GAAQ;IAC1B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAU,EAAE,CAAA;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QAClB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;gBACjB,CAAC,EAAE,CAAA;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AAC9B,CAAC;AAED,SAAS,GAAG,CAAC,KAAY,EAAE,GAAW;IACpC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,WAAW,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;IAC7E,OAAO,CAAC,CAAA;AACV,CAAC;AACD,SAAS,GAAG,CAAC,KAAY,EAAE,GAAW;IACpC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9C,CAAC;AACD,SAAS,GAAG,CAAC,KAAY,EAAE,GAAW;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;IACjC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC,CAAA;IACvE,OAAO,CAAC,CAAA;AACV,CAAC;AACD,0FAA0F;AAC1F,SAAS,KAAK,CAAmB,KAAyB,EAAE,OAAqB,EAAE,IAAY;IAC7F,IAAI,KAAK,KAAK,SAAS,IAAI,CAAE,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,oBAAoB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAA;IAC9H,CAAC;IACD,OAAO,KAAU,CAAA;AACnB,CAAC;AACD,SAAS,GAAG,CAAC,KAAY;IACvB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAClF,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,YAAgC,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QAClB,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACxB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,YAAY,GAAG,IAAI,CAAA;gBACnB,CAAC,EAAE,CAAA;gBACH,SAAQ;YACV,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACd,CAAC;IACD,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAiB,EAAE,EAAS;IACjD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,EAAE,CAAC,GAAG;QACX,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAA;IACD,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;gBACtB,OAAO,CAAC,CAAA;YACV,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,sFAAsF;gBACtF,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;gBACrC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnC,EAAE,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAClD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,KAAK,gBAAgB;gBACnB,yFAAyF;gBACzF,0FAA0F;gBAC1F,OAAO,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACnC,KAAK,cAAc;gBACjB,yFAAyF;gBACzF,0FAA0F;gBAC1F,8DAA8D;gBAC9D,OAAO,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACjC,wFAAwF;YACxF,8FAA8F;YAC9F,6FAA6F;YAC7F,gGAAgG;YAChG,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,OAAO,CAAC;YACb,KAAK,UAAU,CAAC;YAChB,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;gBACnD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,EAAE,CAAC,GAAG,CACJ,kCAAkC,EAAE,CAAC,GAAG,qCAAqC;wBAC3E,yFAAyF,CAC5F,CAAA;gBACH,CAAC;gBACD,6FAA6F;gBAC7F,4DAA4D;gBAC5D,MAAM,GAAG,GAAQ;oBACf,EAAE;oBACF,UAAU,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACvG,CAAA;gBACD,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,QAAQ;wBACX,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC7B,KAAK,cAAc;wBACjB,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAClC,KAAK,OAAO;wBACV,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC5B,KAAK,UAAU;wBACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAA;oBAClD,KAAK,OAAO;wBACV,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC5B,KAAK,OAAO;wBACV,8FAA8F;wBAC9F,sFAAsF;wBACtF,gFAAgF;wBAChF,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAA;oBAC/C,KAAK,oBAAoB;wBACvB,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBACxC,KAAK,OAAO;wBACV,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC9B,CAAC;gBACD,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,OAAO,CAAC,CAAA;YACV,CAAC;YACD,mGAAmG;YACnG,mGAAmG;YACnG,oFAAoF;YACpF,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,aAAa,CAAC;YACnB,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,aAAa,CAAC;YACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,CAAA;gBAC/E,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,MAAM;wBACT,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC3B,KAAK,aAAa;wBAChB,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAClC,KAAK,UAAU;wBACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC/B,KAAK,SAAS;wBACZ,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC9B,KAAK,QAAQ;wBACX,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC7B,KAAK,aAAa;wBAChB,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAClC,KAAK,UAAU;wBACb,OAAO,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC/B,KAAK,QAAQ;wBACX,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAC7B,KAAK,QAAQ;wBACX,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC/B,CAAC;gBACD,wEAAwE;gBACxE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,OAAO,CAAC,CAAA;YACV,CAAC;YACD;gBACE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,OAAO,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAe,EAAE,MAAc,EAAE,EAAS;IACzD,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAa,EAAE,MAAM,CAAC,CAAC,CAAA;AACtG,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAc,EAAE,EAAS;IAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAA;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACjE,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,EAAE,CAAC,GAAG,CAAC,oDAAoD,GAAG,KAAK,CAAC,CAAA;QACpE,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,OAAO,CAAC,IAAc,EAAE,GAAQ;IACvC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAa;YACjE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YAC1B,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC;YAClC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC5F,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvG,CAAC,CAAA;QACF,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,sFAAsF;QACtF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACnC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,WAAW,CAAC,yDAAyD,CAAC,CAAA;QAClF,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/D,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;QAC5B,mGAAmG;QACnG,8FAA8F;QAC9F,iGAAiG;QACjG,yDAAyD;QACzD,MAAM,KAAK,GAAG,CAAC,CAAqB,EAAwB,EAAE,CAC5D,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjF,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,KAAgB,CAAA;QACpB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5H,MAAM,IAAI,WAAW,CAAC,yFAAyF,CAAC,CAAA;YAClH,CAAC;YACD,IAAI,MAAe,CAAA;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAA;YACzE,CAAC;YACD,KAAK,GAAG,MAAmB,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;YAChD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAA;YACpD,KAAK,GAAG;gBACN,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAA;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAA;QACzC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,8FAA8F;QAC9F,sGAAsG;QACtG,sGAAsG;QACtG,mGAAmG;QACnG,0FAA0F;QAC1F,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;QAC7B,IAAI,KAAc,CAAA;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,iEAAiE,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG;YACZ,MAAM;YACN,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC;YACjC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;YACrC,KAAK,EAAE,KAAc;YACrB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAA;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAC9C,yGAAyG;QACzG,mGAAmG;QACnG,IAAI,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,CAAC;YACjG,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YAC/C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;QAC3C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAe,CAAC,CAAA;QACvF,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAgB,CAAC,CAAA;QACrG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACvF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CACtB;YACE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,EACD,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAChE,CAAA;QACD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAA;IAC1F,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAc,EAAE,GAAQ;IACxC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;IACxD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QAChD,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACvB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QAC7G,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAc,EAAE,GAAQ;IAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,EAAE,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;QAC7D,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACnC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;IAC1F,IAAI,IAAqB,CAAA;IACzB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CAAC,0DAA0D,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChF,EAAE,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,eAAe,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,cAAc,2BAA2B,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAA;IACzH,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,GAAQ;IAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;YAC9B,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAiB;YACjF,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YAC1B,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC;YAClC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9E,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YACtE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvG,CAAC,CAAA;QACF,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAY,CAAC,CAAA;QACtF,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,+EAA+E;QAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,OAAO,CAAA;QACpE,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QACtF,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QACtG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAC1B,KAAK,CAAC,cAAc,CAClB,UAAU,CAAC,CAAC,CAAE,EACd,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAS,EAC3C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,CAAsC,CACvF,CAAA;QACD,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,qGAAqG;QACrG,wGAAwG;QACxG,sGAAsG;QACtG,sGAAsG;QACtG,gGAAgG;QAChG,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAA;QACxE,qGAAqG;QACrG,wGAAwG;QACxG,wGAAwG;QACxG,wGAAwG;QACxG,2DAA2D;QAC3D,MAAM,QAAQ,GAAG;YACf,IAAI;YACJ,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAA;QACpB,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QAC9C,mGAAmG;QACnG,kGAAkG;QAClG,uGAAuG;QACvG,+FAA+F;QAC/F,IAAI,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,CAAC;YACjG,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YAC/C,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC5D,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;IAChF,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,GAAQ;IAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;YAC3B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAgB;YACvE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;YAClC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAmB,EAAE;gBAC7F,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,SAAS,CAAiB,EAAE;gBAClF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvG,CAAC,CAAA;QACF,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAA;QACpC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;QAC/B,yGAAyG;QACzG,qGAAqG;QACrG,kGAAkG;QAClG,MAAM,GAAG,GAAG,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC3F,EAAE,CAAC,GAAG,CACJ,GAAG,CAAC,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,YAAY,GAAG,CAAC,MAAM,mCAAmC,CAC9D,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;IACjE,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,GAAQ;IACzC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAA;QAC1E,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,EAAE,CAAC,GAAG,CACJ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CACtI,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAA;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAA;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;YAClF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;YACpE,+FAA+F;YAC/F,kGAAkG;YAClG,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;YACpE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YAC3F,OAAO,CAAC,CAAA;QACV,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE;YAC9B,MAAM;YACN,GAAG;YACH,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,CAAc;SACtE,CAAC,CAAA;QACF,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QACjD,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC1D,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAc,EAAE,GAAQ;IAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;SAC9B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,WAAW,CAAC,oDAAoD,CAAC,CAAA;IACnG,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IAC9C,uGAAuG;IACvG,+FAA+F;IAC/F,IAAI,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,CAAC;QACjG,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;QAC/C,OAAO,CAAC,CAAA;IACV,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7C,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACd,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,GAAQ;IAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE;YAC7C,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;YACpC,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;YACjC,kCAAkC,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;YACpD,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;SAC1B,CAAC,CAAA;QACF,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QACjC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;IACtE,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,GAAQ;IACzC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,yFAAyF;IACzF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,4FAA4F;IAC5F,mGAAmG;IACnG,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,EAAE,CAAC,GAAG,CACJ,UAAU,CACR,MAAM,EACN,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EACpD;YACE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3D,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK,IAAI;SACpD,EACD,GAAG,CAAC,KAAK,CAAC,CACX,CACF,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CACJ,UAAU,CACR,MAAM,EACN;QACE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3D,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,KAAK,IAAI;QACnD,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;QAC3F,qGAAqG;QACrG,qGAAqG;QACrG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;KAClF,EACD,GAAG,CAAC,KAAK,CAAC,CACX,CACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,GAAQ;IAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;QAClC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC;QACvD,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO;QAC1E,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClE,CAAC,CAAA;IACF,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc,EAAE,GAAQ;IACxC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,EAAE,CAAC,GAAG,CACJ,SAAS,CACP,MAAM,EACN;QACA,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,UAAU,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,eAAe,CAAgB,EAAE;YACjG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,cAAc,CAAU,EAAE;YACvF,CAAC,CAAC,EAAE,CAAC;KACN,EACD,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,EAC/D,GAAG,CAAC,KAAK,CAAC,CACX,CACF,CAAA;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB,CAAC,IAAc,EAAE,GAAQ;IACpD,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CAAC,kIAAkI,CAAC,CAAA;QAC1I,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE;QACnD,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACpE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAC,CAAA;IACF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,uGAAuG;IACvG,MAAM,KAAK,GAAG,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAA;IACzH,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IACjG,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAA;IAC7D,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG;IACjB,cAAc,EAAE,CAAC,EAAU,EAAU,EAAE,CAAC,6BAA6B,UAAU,CAAC,EAAE,CAAC,QAAQ;IAC3F,YAAY,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC;CACvC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAQ,EAAE,QAAiB;IACjE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,WAAW,GAAG,0GAA0G,CAAA;IAC9H,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9C,sGAAsG;IACtG,mGAAmG;IACnG,6CAA6C;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACzC,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACnB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,wGAAwG;IACxG,qEAAqE;IACrE,IAAI,MAAkC,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,CAAC,CAAA;IACV,CAAC;IAED,sGAAsG;IACtG,oGAAoG;IACpG,IAAI,UAAmD,CAAA;IACvD,IAAI,IAAuC,CAAA;IAC3C,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;QACnD,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAA;QAC9C,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnE,EAAE,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAA;YACrF,OAAO,CAAC,CAAA;QACV,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,CAAC;QACH,qGAAqG;QACrG,oGAAoG;QACpG,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CACxC,GAAG,CAAC,UAAU,EACd,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAC/F,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;QACD,MAAM,QAAQ,GACZ,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QACxH,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAA;IACV,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oGAAoG;QACpG,oGAAoG;QACpG,IAAI,KAAK,YAAY,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtD,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YACnC,OAAO,CAAC,CAAA;QACV,CAAC;QACD,IAAI,KAAK,YAAY,UAAU,CAAC,0BAA0B,EAAE,CAAC;YAC3D,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YACnC,OAAO,CAAC,CAAA;QACV,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,IAAc,EAAE,GAAQ;IACxC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,EAAE,CAAC,GAAG,CAAC,uLAAuL,CAAC,CAAA;QAC/L,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,EAAE,CAAC,GAAG,CAAC,uLAAuL,CAAC,CAAA;QAC/L,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;IAClF,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/I,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QAClC,SAAS;QACT,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9F,CAAC,CAAA;IACF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAChF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC,CAAA;QACvG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7H,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IACD,6FAA6F;IAC7F,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,IAAc,EAAE,GAAQ,EAAE,OAAO,GAAG,KAAK;IAC5D,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAClC,KAAK,KAAK,CAAA;IACV,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACpB,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9E,OAAO,CAAC,CAAA;IACV,CAAC;IACD,oGAAoG;IACpG,yGAAyG;IACzG,IAAI,OAAO,EAAE,CAAC;QACZ,EAAE,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;QACjE,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,qCAAqC,CAAC,CAAA;QACjE,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,QAAQ,CAAC,MAAM,gBAAgB,MAAM,CAAC,MAAM,sBAAsB,CAAC,CAAA;IAChG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,GAAQ;IACzC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAClB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;QACnE,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;QACnE,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;IAClF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;QACzC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KACpD,CAAC,CAAA;IACF,EAAE,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA;IAC/F,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAc,EAAE,MAAW;IAC5C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAA;IACrB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,EAAE,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAC,CAAA;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,kCAAkC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,GAAG,GAAkB;QACzB,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;QACpB,SAAS;QACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE;KACnE,CAAA;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,qGAAqG;IACrG,sGAAsG;IACtG,2GAA2G;IAC3G,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAA;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAA;IAChC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,EAAE,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QACxD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,GAAG;QAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;IACrD,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { ActorId, TrackEvent } from '../events/types.js';
2
+ /** One ratified move: place `itemId` under `parentId` (the target). */
3
+ export interface RestructureEdge {
4
+ itemId: string;
5
+ parentId: string;
6
+ }
7
+ export interface RestructurePlan {
8
+ edges: RestructureEdge[];
9
+ /** Content-address of the COMPLETE edge map. When present it is VERIFIED against the computed hash. */
10
+ planHash?: string;
11
+ /**
12
+ * Precondition anchor (the store head the plan was ratified against). MANDATORY for any real write
13
+ * (anti-TOCTOU) — only a clean full replay (every edge already applied) may omit it.
14
+ */
15
+ baseline?: {
16
+ streamLength?: number;
17
+ lastContentHash?: string | null;
18
+ };
19
+ /** Optional opaque provenance pointer recorded on each restructure event. */
20
+ restructureRef?: string;
21
+ }
22
+ export interface ApplyResult {
23
+ planHash: string;
24
+ /** Total edges in the plan. */
25
+ edges: number;
26
+ /** Events written THIS run (0 on a full replay). */
27
+ applied: number;
28
+ /** Edges already present from a prior apply (deduped). */
29
+ alreadyApplied: number;
30
+ }
31
+ /**
32
+ * The plan's content hash: canonicalize the edge map (normalized to `{itemId,parentId}`, ORDER-INDEPENDENT
33
+ * via a stable sort) then sha256. A re-plan that changes ANY edge changes the hash ⇒ a fresh token namespace.
34
+ */
35
+ export declare function computePlanHash(edges: readonly RestructureEdge[]): string;
36
+ /**
37
+ * Apply a ratified plan to the log at `eventsPath`. Throws `DomainError` (nothing written) on: a malformed
38
+ * plan, a planHash mismatch, or a stale baseline. Applies the edges, then runs the post-apply GATE; a gate
39
+ * failure throws AFTER the appends (the append-only log surfaces the incompleteness loudly — the
40
+ * pre-conditions above are what protect "nothing written on bad input").
41
+ */
42
+ export declare function applyRestructurePlan(eventsPath: string, plan: RestructurePlan, opts?: {
43
+ by?: ActorId;
44
+ }): ApplyResult;
45
+ /**
46
+ * Post-apply CLOSURE gate (DESIGN R5(b)) — the `item.reparented` events carrying this plan's EXACT namespaced
47
+ * token === EXACTLY the plan edges: exactly one per child, each token NAMING its own aggregate
48
+ * (`${planHash}:${aggregateId}` — defends against a swapped/duplicated token), no duplicate, each to its
49
+ * planned target, each stamped with this planHash. PURE + exported so the airtight gate is directly testable
50
+ * against a hand-crafted (even adversarial) event set, not only the happy path. Throws `DomainError`.
51
+ */
52
+ export declare function assertTokenClosure(after: readonly TrackEvent[], edges: readonly RestructureEdge[], planHash: string): void;
53
+ //# sourceMappingURL=restructure-apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restructure-apply.d.ts","sourceRoot":"","sources":["../../src/cli/restructure-apply.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO7D,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACrE,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAGzE;AAiBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,WAAW,CA6GxH;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,QAAQ,EAAE,MAAM,GACf,IAAI,CAwBN"}
@@ -0,0 +1,183 @@
1
+ // DESIGN R5 (Lot 1) — apply a RATIFIED restructuring plan: {itemId→parentId} edges, content-addressed by a
2
+ // `planHash`, applied via `item.restructure` (→ `restructureReparent`) through an ingest channel that
3
+ // EXPLICITLY grants the default-denied capability. Append-only + clientToken = f(planHash,itemId) ⇒ a replay
4
+ // is a no-op via the dedup store. A re-PLAN (different edge map) ⇒ different planHash ⇒ different tokens ⇒
5
+ // never falsely skipped. Post-apply GATE (beyond the tautological invariants): (a) intention per edge, (b)
6
+ // closure (exactly the plan edges), (c) zero out-of-plan orphan. `done` stays `done`.
7
+ import { computeHash } from '../events/canonical.js';
8
+ import { EventStore } from '../events/store.js';
9
+ import { readHead } from '../events/head.js';
10
+ import { fold } from '../state/fold.js';
11
+ import { assertRoleNesting, DomainError } from '../model/item.js';
12
+ import { auditFindings } from '../report/audit.js';
13
+ import { ingest } from '../ingest/ingest.js';
14
+ /**
15
+ * The plan's content hash: canonicalize the edge map (normalized to `{itemId,parentId}`, ORDER-INDEPENDENT
16
+ * via a stable sort) then sha256. A re-plan that changes ANY edge changes the hash ⇒ a fresh token namespace.
17
+ */
18
+ export function computePlanHash(edges) {
19
+ const norm = edges.map((e) => ({ itemId: e.itemId, parentId: e.parentId })).sort((a, b) => a.itemId.localeCompare(b.itemId));
20
+ return computeHash(norm);
21
+ }
22
+ function assertPlanShape(plan) {
23
+ if (!Array.isArray(plan.edges) || plan.edges.length === 0) {
24
+ throw new DomainError('restructure apply: the plan must carry at least one {itemId,parentId} edge');
25
+ }
26
+ for (const e of plan.edges) {
27
+ if (typeof e?.itemId !== 'string' || e.itemId.length === 0 || typeof e?.parentId !== 'string' || e.parentId.length === 0) {
28
+ throw new DomainError('restructure apply: each edge needs a non-empty itemId and parentId');
29
+ }
30
+ }
31
+ const children = plan.edges.map((e) => e.itemId);
32
+ if (new Set(children).size !== children.length) {
33
+ throw new DomainError('restructure apply: an item may appear as a child at most once in a plan');
34
+ }
35
+ }
36
+ /**
37
+ * Apply a ratified plan to the log at `eventsPath`. Throws `DomainError` (nothing written) on: a malformed
38
+ * plan, a planHash mismatch, or a stale baseline. Applies the edges, then runs the post-apply GATE; a gate
39
+ * failure throws AFTER the appends (the append-only log surfaces the incompleteness loudly — the
40
+ * pre-conditions above are what protect "nothing written on bad input").
41
+ */
42
+ export function applyRestructurePlan(eventsPath, plan, opts = {}) {
43
+ assertPlanShape(plan);
44
+ const planHash = computePlanHash(plan.edges);
45
+ if (plan.planHash !== undefined && plan.planHash !== planHash) {
46
+ throw new DomainError(`restructure apply: planHash mismatch — declared "${plan.planHash}" ≠ computed "${planHash}" (re-plan)`);
47
+ }
48
+ const store = new EventStore(eventsPath);
49
+ const before = store.readAll();
50
+ const state0 = fold(before);
51
+ // Every edge child must exist (precondition).
52
+ for (const e of plan.edges) {
53
+ if (!state0.items.has(e.itemId))
54
+ throw new DomainError(`restructure apply: unknown item ${e.itemId} (precondition)`);
55
+ if (!state0.items.has(e.parentId))
56
+ throw new DomainError(`restructure apply: unknown parent ${e.parentId} (precondition)`);
57
+ }
58
+ // Baseline precondition is MANDATORY for any real write (anti-TOCTOU): a ratified plan must pin the store
59
+ // head it was computed against. The ONLY no-op exception is a true replay — and "already applied" means
60
+ // THIS plan's exact tokens are already in the log, NOT that parents coincidentally match (a different plan
61
+ // or a manual move could align them; skipping baseline there would let a tokenless write slip the gate).
62
+ const present = new Set(before.filter((ev) => ev.type === 'item.reparented' && ev.clientToken !== undefined).map((ev) => ev.clientToken));
63
+ const allApplied = plan.edges.every((e) => present.has(`${planHash}:${e.itemId}`));
64
+ if (!allApplied) {
65
+ if (plan.baseline?.streamLength === undefined || plan.baseline.lastContentHash === undefined) {
66
+ throw new DomainError('restructure apply: a ratified plan must carry baseline {streamLength, lastContentHash} (anti-TOCTOU precondition)');
67
+ }
68
+ const head = readHead(eventsPath);
69
+ if (plan.baseline.streamLength !== before.length || plan.baseline.lastContentHash !== (head?.lastContentHash ?? null)) {
70
+ throw new DomainError('restructure apply: baseline precondition failed — the store changed since the plan was computed (re-plan)');
71
+ }
72
+ }
73
+ // DRY-RUN the WHOLE plan against the PROSPECTIVE graph (current parents ∪ plan edges) BEFORE any append.
74
+ // An append-only ingest is non-atomic per edge: a later edge failing its append-time guard would leave the
75
+ // earlier edges committed (a partial reorg). Pre-flighting self/role-nesting/cycle over the CUMULATIVE graph
76
+ // here guarantees "nothing written on a bad plan" — and catches a cycle the SEQUENTIAL per-edge checks miss
77
+ // (A→B then B→A: neither edge sees the loop in isolation; the cumulative graph does).
78
+ const prospectiveParent = new Map();
79
+ for (const [id, it] of state0.items)
80
+ prospectiveParent.set(id, it.parentId);
81
+ for (const e of plan.edges)
82
+ prospectiveParent.set(e.itemId, e.parentId);
83
+ for (const e of plan.edges) {
84
+ if (e.itemId === e.parentId)
85
+ throw new DomainError(`restructure apply: cannot parent ${e.itemId} under itself`);
86
+ const item = state0.items.get(e.itemId);
87
+ const parent = state0.items.get(e.parentId);
88
+ assertRoleNesting(item.role, parent.role, e.itemId, e.parentId);
89
+ const seen = new Set();
90
+ for (let cur = e.parentId; cur !== undefined; cur = prospectiveParent.get(cur)) {
91
+ if (cur === e.itemId)
92
+ throw new DomainError(`restructure apply: edge ${e.itemId}→${e.parentId} would create a cycle (prospective graph)`);
93
+ if (seen.has(cur))
94
+ break; // a pre-existing cycle elsewhere — terminate the walk safely
95
+ seen.add(cur);
96
+ }
97
+ }
98
+ // Group edges by the CHILD's (immutable) workspace — one ingest channel per source workspace, each pinned
99
+ // there + granting `item.restructure`. clientToken = f(planHash,itemId) ⇒ replay dedups to a no-op.
100
+ const byWorkspace = new Map();
101
+ for (const e of plan.edges) {
102
+ const ws = state0.items.get(e.itemId).workspace;
103
+ const list = byWorkspace.get(ws) ?? [];
104
+ list.push(e);
105
+ byWorkspace.set(ws, list);
106
+ }
107
+ const grant = new Set(['item.restructure']);
108
+ let applied = 0;
109
+ for (const [workspace, group] of byWorkspace) {
110
+ const events = group.map((e) => ({
111
+ v: 1,
112
+ kind: 'item.restructure',
113
+ payload: {
114
+ itemId: e.itemId,
115
+ parentId: e.parentId,
116
+ planHash,
117
+ ...(plan.restructureRef !== undefined ? { restructureRef: plan.restructureRef } : {}),
118
+ },
119
+ clientToken: `${planHash}:${e.itemId}`,
120
+ }));
121
+ const ctx = {
122
+ by: opts.by ?? 'human:restructure-apply',
123
+ workspace,
124
+ prov: { transport: 'import', proposed: false, auth: 'local-user' },
125
+ allowedKinds: grant,
126
+ };
127
+ const countBefore = store.readAll().length;
128
+ ingest(events, ctx, store);
129
+ applied += store.readAll().length - countBefore;
130
+ }
131
+ // ---- post-apply GATE ----
132
+ const after = store.readAll();
133
+ const stateF = fold(after);
134
+ const planChildren = new Set(plan.edges.map((e) => e.itemId));
135
+ // (a) intention — each edge's folded parent === the plan target.
136
+ for (const e of plan.edges) {
137
+ const it = stateF.items.get(e.itemId);
138
+ if (it === undefined || it.parentId !== e.parentId) {
139
+ throw new DomainError(`restructure apply: intention gate failed for ${e.itemId} (folded parent ${String(it?.parentId)} ≠ target ${e.parentId})`);
140
+ }
141
+ }
142
+ // (b) closure — EXACTLY the plan edges produced a reparent (pure + exported for direct testing).
143
+ assertTokenClosure(after, plan.edges, planHash);
144
+ // (c) orphan gate — zero out-of-plan orphan remains (the plan must account for every orphan it touches).
145
+ const outOfPlanOrphans = auditFindings(stateF).filter((f) => f.kind === 'orphan' && f.itemId !== undefined && !planChildren.has(f.itemId));
146
+ if (outOfPlanOrphans.length > 0) {
147
+ throw new DomainError(`restructure apply: orphan gate failed — ${outOfPlanOrphans.length} out-of-plan orphan(s) remain (the plan is incomplete)`);
148
+ }
149
+ return { planHash, edges: plan.edges.length, applied, alreadyApplied: plan.edges.length - applied };
150
+ }
151
+ /**
152
+ * Post-apply CLOSURE gate (DESIGN R5(b)) — the `item.reparented` events carrying this plan's EXACT namespaced
153
+ * token === EXACTLY the plan edges: exactly one per child, each token NAMING its own aggregate
154
+ * (`${planHash}:${aggregateId}` — defends against a swapped/duplicated token), no duplicate, each to its
155
+ * planned target, each stamped with this planHash. PURE + exported so the airtight gate is directly testable
156
+ * against a hand-crafted (even adversarial) event set, not only the happy path. Throws `DomainError`.
157
+ */
158
+ export function assertTokenClosure(after, edges, planHash) {
159
+ const targetOf = new Map(edges.map((e) => [e.itemId, e.parentId]));
160
+ const exactTokens = new Set(edges.map((e) => `${planHash}:${e.itemId}`));
161
+ const tokened = after.filter((ev) => ev.type === 'item.reparented' && ev.clientToken !== undefined && exactTokens.has(ev.clientToken));
162
+ if (tokened.length !== edges.length) {
163
+ throw new DomainError(`restructure apply: closure gate failed — ${tokened.length} tokened reparent(s) ≠ ${edges.length} plan edge(s)`);
164
+ }
165
+ const seenChild = new Set();
166
+ for (const ev of tokened) {
167
+ if (ev.clientToken !== `${planHash}:${ev.aggregateId}`) {
168
+ throw new DomainError(`restructure apply: closure gate failed — token ${String(ev.clientToken)} is not on its own aggregate ${ev.aggregateId} (swap)`);
169
+ }
170
+ if (!targetOf.has(ev.aggregateId))
171
+ throw new DomainError(`restructure apply: closure gate failed — out-of-plan reparent of ${ev.aggregateId}`);
172
+ if (seenChild.has(ev.aggregateId))
173
+ throw new DomainError(`restructure apply: closure gate failed — duplicate reparent of ${ev.aggregateId}`);
174
+ seenChild.add(ev.aggregateId);
175
+ if (ev.payload['parentId'] !== targetOf.get(ev.aggregateId)) {
176
+ throw new DomainError(`restructure apply: closure gate failed — ${ev.aggregateId} → ${String(ev.payload['parentId'])} ≠ target ${String(targetOf.get(ev.aggregateId))}`);
177
+ }
178
+ if (ev.payload['planHash'] !== planHash) {
179
+ throw new DomainError(`restructure apply: closure gate failed — ${ev.aggregateId} planHash ${String(ev.payload['planHash'])} ≠ ${planHash}`);
180
+ }
181
+ }
182
+ }
183
+ //# sourceMappingURL=restructure-apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restructure-apply.js","sourceRoot":"","sources":["../../src/cli/restructure-apply.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const INGEST_CONTRACT_VERSION = "1.3.0";
1
+ export declare const INGEST_CONTRACT_VERSION = "1.4.0";
2
2
  export declare const ITEM_KINDS: readonly ["feature", "bug", "chore"];
3
3
  export declare const SPEC_TARGETS: readonly ["to-specify", "specified"];
4
4
  export declare const REALIZE_TARGETS: readonly ["in-progress", "done", "cancelled"];
@@ -15,8 +15,16 @@ export declare const ITEM_ROLES: readonly ["workpackage", "spec-phase"];
15
15
  export declare const VERDICTS: readonly ["clean", "violation", "conditional"];
16
16
  export declare const DEMAND_TYPES: readonly ["feature", "defect", "chore"];
17
17
  export declare const DISPOSITION_OUTCOMES: readonly ["rejected", "duplicate", "parked"];
18
- export declare const WORK_EVENT_KINDS: readonly ["item.create", "item.reparent", "item.spec", "item.realize", "decision.create", "decision.dossier", "decision.add-artifact", "decision.outcome", "decision.disposition", "acceptance.criterion", "acceptance.link", "acceptance.run", "acceptance.waive", "priority.assess", "blocker.raise", "blocker.resolve", "blocker.resolve-external", "scope.verification", "scope.declare", "item.spec-amend", "item.anchor", "item.consolidate", "demand.raise", "demand.claim", "demand.agree", "demand.disposition", "spec.claim", "spec.abandon"];
18
+ export declare const WORK_EVENT_KINDS: readonly ["item.create", "item.reparent", "item.spec", "item.realize", "decision.create", "decision.dossier", "decision.add-artifact", "decision.outcome", "decision.disposition", "acceptance.criterion", "acceptance.link", "acceptance.run", "acceptance.waive", "priority.assess", "blocker.raise", "blocker.resolve", "blocker.resolve-external", "scope.verification", "scope.declare", "item.spec-amend", "item.anchor", "item.consolidate", "demand.raise", "demand.claim", "demand.agree", "demand.disposition", "spec.claim", "spec.abandon", "item.restructure"];
19
19
  export type WorkEventKind = (typeof WORK_EVENT_KINDS)[number];
20
+ /**
21
+ * DESIGN R2 — the DEFAULT-DENIED capability kinds. `authorize` carries a DEDICATED deny-explicit branch for
22
+ * these: a channel may run one ONLY when `ctx.allowedKinds` EXPLICITLY grants it. We do NOT rely on the
23
+ * `allowedKinds` allowlist (it defaults to "permit everything" and is never set in prod) — we ADD an explicit
24
+ * refusal. Kept here (the single source of the write enums) but NOT re-exported from the `./ingest` barrel
25
+ * (the capability is internal to the seam).
26
+ */
27
+ export declare const RESTRUCTURE_KINDS: ReadonlySet<WorkEventKind>;
20
28
  export interface WorkEvent {
21
29
  /** Contract major. Unknown major ⇒ fail-closed reject; unknown minor degrades to "unknown kind". */
22
30
  v: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/ingest/contract.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAG9C,eAAO,MAAM,UAAU,sCAAuC,CAAA;AAC9D,eAAO,MAAM,YAAY,sCAAuC,CAAA;AAChE,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAC5E,eAAO,MAAM,cAAc,wCAAyC,CAAA;AACpE,eAAO,MAAM,QAAQ,sCAAuC,CAAA;AAC5D,eAAO,MAAM,KAAK,wCAAyC,CAAA;AAC3D,eAAO,MAAM,YAAY,oDAAqD,CAAA;AAC9E,eAAO,MAAM,aAAa,qCAAsC,CAAA;AAChE,eAAO,MAAM,gBAAgB,uDAAwD,CAAA;AACrF,eAAO,MAAM,cAAc,mDAAoD,CAAA;AAC/E,eAAO,MAAM,OAAO,2BAA4B,CAAA;AAChD,eAAO,MAAM,cAAc,6BAA8B,CAAA;AACzD,eAAO,MAAM,UAAU,wCAAyC,CAAA;AAChE,eAAO,MAAM,QAAQ,gDAAiD,CAAA;AAEtE,eAAO,MAAM,YAAY,yCAA0C,CAAA;AACnE,eAAO,MAAM,oBAAoB,8CAA+C,CAAA;AAGhF,eAAO,MAAM,gBAAgB,yhBA8BnB,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D,MAAM,WAAW,SAAS;IACxB,oGAAoG;IACpG,CAAC,EAAE,CAAC,CAAA;IACJ,IAAI,EAAE,aAAa,CAAA;IACnB,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;kGAEkG;AAClG,eAAO,MAAM,wBAAwB,kDAAmD,CAAA;AAGxF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAE1E,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAMD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CAsR/D,CAAA"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/ingest/contract.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,uBAAuB,UAAU,CAAA;AAG9C,eAAO,MAAM,UAAU,sCAAuC,CAAA;AAC9D,eAAO,MAAM,YAAY,sCAAuC,CAAA;AAChE,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAC5E,eAAO,MAAM,cAAc,wCAAyC,CAAA;AACpE,eAAO,MAAM,QAAQ,sCAAuC,CAAA;AAC5D,eAAO,MAAM,KAAK,wCAAyC,CAAA;AAC3D,eAAO,MAAM,YAAY,oDAAqD,CAAA;AAC9E,eAAO,MAAM,aAAa,qCAAsC,CAAA;AAChE,eAAO,MAAM,gBAAgB,uDAAwD,CAAA;AACrF,eAAO,MAAM,cAAc,mDAAoD,CAAA;AAC/E,eAAO,MAAM,OAAO,2BAA4B,CAAA;AAChD,eAAO,MAAM,cAAc,6BAA8B,CAAA;AACzD,eAAO,MAAM,UAAU,wCAAyC,CAAA;AAChE,eAAO,MAAM,QAAQ,gDAAiD,CAAA;AAEtE,eAAO,MAAM,YAAY,yCAA0C,CAAA;AACnE,eAAO,MAAM,oBAAoB,8CAA+C,CAAA;AAGhF,eAAO,MAAM,gBAAgB,6iBAkCnB,CAAA;AACV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,aAAa,CAAgD,CAAA;AAEzG,MAAM,WAAW,SAAS;IACxB,oGAAoG;IACpG,CAAC,EAAE,CAAC,CAAA;IACJ,IAAI,EAAE,aAAa,CAAA;IACnB,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;kGAEkG;AAClG,eAAO,MAAM,wBAAwB,kDAAmD,CAAA;AAGxF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEhF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,GAAG,UAAU,CAAA;AAE1E,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAClC;AAMD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CAkS/D,CAAA"}