@miller-tech/uap 1.164.0 → 1.165.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 (48) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/browser/web-browser.d.ts +7 -0
  3. package/dist/browser/web-browser.d.ts.map +1 -1
  4. package/dist/browser/web-browser.js +15 -0
  5. package/dist/browser/web-browser.js.map +1 -1
  6. package/dist/cli/deliver.d.ts +27 -0
  7. package/dist/cli/deliver.d.ts.map +1 -1
  8. package/dist/cli/deliver.js +103 -12
  9. package/dist/cli/deliver.js.map +1 -1
  10. package/dist/cli/verify.d.ts +6 -0
  11. package/dist/cli/verify.d.ts.map +1 -1
  12. package/dist/cli/verify.js +64 -0
  13. package/dist/cli/verify.js.map +1 -1
  14. package/dist/delivery/agentic-executor.d.ts +15 -0
  15. package/dist/delivery/agentic-executor.d.ts.map +1 -1
  16. package/dist/delivery/agentic-executor.js +64 -3
  17. package/dist/delivery/agentic-executor.js.map +1 -1
  18. package/dist/delivery/convergence-loop.d.ts +39 -1
  19. package/dist/delivery/convergence-loop.d.ts.map +1 -1
  20. package/dist/delivery/convergence-loop.js +22 -4
  21. package/dist/delivery/convergence-loop.js.map +1 -1
  22. package/dist/delivery/execution-gate.d.ts +4 -0
  23. package/dist/delivery/execution-gate.d.ts.map +1 -1
  24. package/dist/delivery/execution-gate.js +194 -2
  25. package/dist/delivery/execution-gate.js.map +1 -1
  26. package/dist/delivery/mission-acceptance.d.ts.map +1 -1
  27. package/dist/delivery/mission-acceptance.js +69 -21
  28. package/dist/delivery/mission-acceptance.js.map +1 -1
  29. package/dist/delivery/user-paths.d.ts +42 -0
  30. package/dist/delivery/user-paths.d.ts.map +1 -1
  31. package/dist/delivery/user-paths.js +254 -6
  32. package/dist/delivery/user-paths.js.map +1 -1
  33. package/dist/delivery/user-validation.d.ts.map +1 -1
  34. package/dist/delivery/user-validation.js +21 -1
  35. package/dist/delivery/user-validation.js.map +1 -1
  36. package/dist/delivery/vision-judge.d.ts.map +1 -1
  37. package/dist/delivery/vision-judge.js +8 -1
  38. package/dist/delivery/vision-judge.js.map +1 -1
  39. package/dist/models/openai-compat-client.d.ts +26 -0
  40. package/dist/models/openai-compat-client.d.ts.map +1 -1
  41. package/dist/models/openai-compat-client.js +60 -8
  42. package/dist/models/openai-compat-client.js.map +1 -1
  43. package/docs/guides/DROIDS_AND_SKILLS.md +2 -1
  44. package/package.json +1 -1
  45. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  46. package/src/policies/enforcers/iac_plan_destruction_check.py +32 -4
  47. package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
  48. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -32,6 +32,78 @@ import { sanitizedEnv } from './sanitized-env.js';
32
32
  function gateEnv() {
33
33
  return sanitizedEnv();
34
34
  }
35
+ /**
36
+ * Pre-load instrumentation (addInitScript): wrap requestAnimationFrame with a
37
+ * counter BEFORE the page's own scripts run, so the gate can tell a LIVE render
38
+ * loop (counter keeps climbing) from a DEAD/FROZEN one (climbed, then stopped)
39
+ * from a legitimately STATIC page (never climbed). Fail-soft in the page.
40
+ */
41
+ const RAF_INSTRUMENT = `(() => { try {
42
+ var n = 0; var orig = window.requestAnimationFrame;
43
+ if (typeof orig === 'function') {
44
+ window.requestAnimationFrame = function(cb){ n++; return orig.call(window, cb); };
45
+ Object.defineProperty(window, '__uapRafCount', { configurable: true, get: function(){ return n; } });
46
+ }
47
+ } catch (e) {} })()`;
48
+ /**
49
+ * FUNCTIONAL check for a <canvas> app: it must actually RENDER and, if it drives
50
+ * an animation loop, that loop must stay ALIVE. Two crash-classes the load-only
51
+ * and DOM gates both miss (the page still loads, DOM chrome still works):
52
+ *
53
+ * 1. BLANK canvas — draws nothing (0 non-uniform pixels). Dead render loop that
54
+ * never produced a frame, or an undefined draw method.
55
+ * 2. FROZEN canvas — the requestAnimationFrame loop ran a few frames then DIED
56
+ * (an uncaught error in the frame callback, an interface mismatch mid-update).
57
+ * The first frame is on screen, so it is NOT blank — but the game never
58
+ * plays: the ship never moves, waves never spawn. Observed live
59
+ * (octopus_invaders, 2026-07-24): execution smoke + user-path both green,
60
+ * vision even graded the frozen first frame, while the ship sat static and no
61
+ * enemy ever appeared. Load/DOM/pixel checks all pass on a frozen game.
62
+ *
63
+ * The rAF counter (installed by RAF_INSTRUMENT) distinguishes frozen (count was
64
+ * > 0 then stopped) from a legitimately static page (count stayed 0) — so a
65
+ * non-animated visualization is never false-failed.
66
+ */
67
+ const CANVAS_RENDER_PROBE = `() => new Promise((resolve) => {
68
+ var c = document.querySelector('canvas');
69
+ var raf = function(){ return (typeof window.__uapRafCount === 'number') ? window.__uapRafCount : -1; };
70
+ var nonUniform = function(){
71
+ if (!c) return -1;
72
+ try {
73
+ var ctx = c.getContext && c.getContext('2d');
74
+ if (!ctx || !c.width || !c.height) return -1;
75
+ var d = ctx.getImageData(0, 0, c.width, c.height).data;
76
+ var r0 = d[0], g0 = d[1], b0 = d[2], nu = 0;
77
+ for (var i = 0; i < d.length; i += 4) { if (d[i] !== r0 || d[i+1] !== g0 || d[i+2] !== b0) { nu++; if (nu > 64) break; } }
78
+ return nu;
79
+ } catch (e) { return -1; }
80
+ };
81
+ var rafLoad0 = raf();
82
+ setTimeout(function () {
83
+ var rafLoad1 = raf();
84
+ var nu = nonUniform();
85
+ // Exercise the PRIMARY interaction so a loop that freezes on start is caught:
86
+ // click a start/play control if present, and (for canvas games) the canvas.
87
+ try {
88
+ var btn = document.querySelector('#start-btn,#start,#play,#begin,button[id*=start],button[id*=play],[class*=start] button');
89
+ if (!btn) {
90
+ var btns = Array.prototype.slice.call(document.querySelectorAll('button,[role=button]'));
91
+ btn = btns.filter(function(b){ return /\\b(start|play|begin|new game|continue)\\b/i.test(b.textContent || ''); })[0] || null;
92
+ }
93
+ if (btn && btn.click) btn.click();
94
+ if (c) {
95
+ var cx = (c.width || 300) / 2, cy = (c.height || 300) / 2;
96
+ c.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, clientX: cx, clientY: cy }));
97
+ c.dispatchEvent(new MouseEvent('click', { bubbles: true, clientX: cx, clientY: cy }));
98
+ c.dispatchEvent(new MouseEvent('mousemove', { bubbles: true, clientX: cx - 40, clientY: cy - 40 }));
99
+ }
100
+ } catch (e) {}
101
+ var rafPostClick0 = raf();
102
+ setTimeout(function () {
103
+ resolve({ hasCanvas: !!c, nonUniformPixels: nu, rafLoad0: rafLoad0, rafLoad1: rafLoad1, rafPostClick0: rafPostClick0, rafPostClick1: raf() });
104
+ }, 700);
105
+ }, 500);
106
+ })`;
35
107
  const DEFAULT_TIMEOUT_MS = 60_000;
36
108
  const DEFAULT_SETTLE_MS = 1_500;
37
109
  /**
@@ -244,6 +316,98 @@ export function startStaticServer(dir, entry = 'index.html') {
244
316
  // Web execution — headless browser, with a vm+mocked-DOM fallback so the gate
245
317
  // never silently no-ops when a real browser/chromium is unavailable.
246
318
  // ---------------------------------------------------------------------------
319
+ /**
320
+ * Run the in-page canvas render-loop-liveness probe and return a FAILURE result
321
+ * when the canvas is blank or its animation loop is dead/frozen (including a
322
+ * freeze on the primary interaction), else null (healthy, or the driver lacks
323
+ * evaluate). Best-effort — a probe error never flips a genuine pass to a fail.
324
+ */
325
+ async function checkCanvasLiveness(browser, start) {
326
+ if (typeof browser.evaluate !== 'function')
327
+ return null;
328
+ let probe;
329
+ try {
330
+ probe = (await browser.evaluate(CANVAS_RENDER_PROBE)) ?? { hasCanvas: false };
331
+ }
332
+ catch {
333
+ return null;
334
+ }
335
+ if (!probe.hasCanvas)
336
+ return null;
337
+ const l0 = probe.rafLoad0 ?? -1;
338
+ const l1 = probe.rafLoad1 ?? -1;
339
+ const p0 = probe.rafPostClick0 ?? -1;
340
+ const p1 = probe.rafPostClick1 ?? -1;
341
+ const loopAlive = l1 > l0; // rAF count climbed → an animation loop is running
342
+ // Blank ONLY counts as a failure when a loop is actively running but paints
343
+ // nothing (a live loop that draws nothing). A blank canvas with NO loop is a
344
+ // legitimately static / draw-on-demand / minimal app and is left alone (avoids
345
+ // false-failing trivial fixtures and static canvases).
346
+ const blank = loopAlive && typeof probe.nonUniformPixels === 'number' && probe.nonUniformPixels === 0;
347
+ // Freezes on interaction: the loop WAS continuously animating (l1>l0), then
348
+ // after the primary click it STOPPED — the game renders a menu but dies the
349
+ // moment you start it (octopus_invaders, 2026-07-24: menu rAF 93->135, stuck at
350
+ // 123 after Start; execution + user-path + vision all passed the frozen game).
351
+ // Both signals require an ACTIVE loop, so a static / one-shot-draw / minimal
352
+ // canvas is never false-failed (a one-shot rAF draw has l1===l0, not > ).
353
+ const animatedThenFroze = loopAlive && p0 > 0 && p1 === p0;
354
+ if (!(blank || animatedThenFroze))
355
+ return null;
356
+ const reason = animatedThenFroze
357
+ ? 'the <canvas> render loop FREEZES on the primary interaction (the game does not play)'
358
+ : 'the <canvas> render loop runs but paints NOTHING (blank)';
359
+ const detail = animatedThenFroze
360
+ ? 'The page loads and the scene animates, BUT the requestAnimationFrame loop DIES the moment the ' +
361
+ `primary control (Start/Play) is used — 0 new frames after the click (count stuck at ${p0}). The app ` +
362
+ 'does not actually PLAY: the ship never moves, nothing spawns, no time-based logic advances. This is ' +
363
+ 'an uncaught error thrown in the frame callback once gameplay starts (almost always an interface ' +
364
+ 'mismatch calling an undefined method in the update/draw path that only runs in the "playing" state). ' +
365
+ 'Fix the loop so it keeps running through and after Start — a game that freezes on start is NOT a ' +
366
+ 'working deliverable. This must pass BEFORE any aesthetic/vision judgement.'
367
+ : 'The requestAnimationFrame loop is running but the <canvas> painted NO content (0 non-uniform pixels) ' +
368
+ '— the draw path produces nothing visible (an undefined draw method / a no-op renderer). The app runs ' +
369
+ 'but shows nothing; fix the render before any aesthetic judgement.';
370
+ return { passed: false, exitCode: 1, failureReason: reason, outputTail: detail, durationMs: Date.now() - start, via: 'browser' };
371
+ }
372
+ /**
373
+ * Canvas render-loop-liveness check in a REAL browser, for a classic-<script>
374
+ * canvas app that ALREADY passed vm-dom crash detection. vm-dom cannot drive
375
+ * requestAnimationFrame, so it passes a frozen game; this launches a headless
376
+ * browser purely to run the liveness probe. Returns a FAILURE result when the
377
+ * loop is dead/frozen/blank, else null (healthy OR no browser available →
378
+ * fail-open, the caller keeps the vm-dom pass).
379
+ */
380
+ async function runCanvasLivenessCheck(entryDir, opts, entry) {
381
+ const start = Date.now();
382
+ let server = null;
383
+ let browser = null;
384
+ try {
385
+ server = await startStaticServer(entryDir, entry);
386
+ try {
387
+ browser = opts.browserFactory ? opts.browserFactory() : await loadWebBrowser();
388
+ await browser.launch({ headless: true });
389
+ }
390
+ catch {
391
+ return null; // no browser — fail-open (vm-dom verdict stands)
392
+ }
393
+ const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
394
+ if (typeof browser.addInitScript === 'function') {
395
+ await browser.addInitScript(RAF_INSTRUMENT).catch(() => undefined);
396
+ }
397
+ await withTimeout(browser.goto(server.url), timeoutMs, 'goto').catch(() => undefined);
398
+ await Promise.race([browser.waitForLoadState('load'), delay(timeoutMs)]).catch(() => undefined);
399
+ await delay(opts.settleMs ?? DEFAULT_SETTLE_MS);
400
+ return await checkCanvasLiveness(browser, start);
401
+ }
402
+ catch {
403
+ return null; // any error → fail-open
404
+ }
405
+ finally {
406
+ if (browser)
407
+ await browser.close().catch(() => undefined);
408
+ server?.close();
409
+ }
410
+ }
247
411
  async function runWeb(entryDir, opts, entry = 'index.html') {
248
412
  const start = Date.now();
249
413
  const settleMs = opts.settleMs ?? DEFAULT_SETTLE_MS;
@@ -269,6 +433,12 @@ async function runWeb(entryDir, opts, entry = 'index.html') {
269
433
  }
270
434
  try {
271
435
  const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
436
+ // Instrument requestAnimationFrame BEFORE the page loads so a frozen render
437
+ // loop is detectable after load. Best-effort — engines without addInitScript
438
+ // simply skip the frozen-loop half of the canvas check.
439
+ if (typeof browser.addInitScript === 'function') {
440
+ await browser.addInitScript(RAF_INSTRUMENT).catch(() => undefined);
441
+ }
272
442
  // Wall-clock guard so a hung goto/load never wedges a direct caller (the
273
443
  // spawned-runner path also has the rung-level spawn timeout as a backstop).
274
444
  const status = await withTimeout(browser.goto(server.url), timeoutMs, 'goto');
@@ -304,6 +474,14 @@ async function runWeb(entryDir, opts, entry = 'index.html') {
304
474
  via: 'browser',
305
475
  };
306
476
  }
477
+ // Canvas-render functional check: a canvas that draws NOTHING is a dead
478
+ // render loop (crash-class), even with no uncaught pageerror surfaced in
479
+ // the settle window. Only runs when the driver supports evaluate and the
480
+ // page has a canvas; a completely uniform canvas fails. Fail-soft: any
481
+ // probe error leaves the load/error verdict untouched.
482
+ const livenessFail = await checkCanvasLiveness(browser, start);
483
+ if (livenessFail)
484
+ return livenessFail;
307
485
  return {
308
486
  passed: true,
309
487
  exitCode: 0,
@@ -841,15 +1019,29 @@ export async function runExecutionGate(projectRoot, opts = {}) {
841
1019
  // for ES-module apps the vm harness cannot execute. Tests that inject a
842
1020
  // browserFactory still exercise the browser path explicitly.
843
1021
  let isModule = false;
1022
+ let hasCanvas = false;
844
1023
  try {
845
- isModule = /<script[^>]+type=["']module["']/i.test(readFileSync(join(dir, entry), 'utf-8'));
1024
+ const html = readFileSync(join(dir, entry), 'utf-8');
1025
+ isModule = /<script[^>]+type=["']module["']/i.test(html);
1026
+ hasCanvas = /<canvas\b/i.test(html);
846
1027
  }
847
1028
  catch {
848
1029
  /* missing entry page — runWeb/vm report it */
849
1030
  }
850
1031
  if (opts.browserFactory || isModule)
851
1032
  return runWeb(dir, opts, entry);
852
- return runVmDomHarness(dir, undefined, undefined, entry);
1033
+ // Classic scripts vm-dom for deterministic JS-crash detection (no browser
1034
+ // needed). BUT vm-dom cannot drive requestAnimationFrame, so it passes a
1035
+ // <canvas> game whose render loop never runs or FREEZES on Start (the
1036
+ // "renders a menu but never actually plays" class — octopus_invaders,
1037
+ // 2026-07-24). For a canvas app, after vm-dom's crash check passes, ALSO run
1038
+ // the render-loop-liveness probe in a REAL browser; fail-open (unchanged
1039
+ // vm-dom verdict) when no browser is available.
1040
+ const vm = await runVmDomHarness(dir, undefined, undefined, entry);
1041
+ if (!vm.passed || !hasCanvas)
1042
+ return vm;
1043
+ const liveness = await runCanvasLivenessCheck(dir, opts, entry);
1044
+ return liveness ?? vm;
853
1045
  }
854
1046
  }
855
1047
  if (type === 'node' || type === 'cli' || type === 'lib') {
@@ -1 +1 @@
1
- {"version":3,"file":"execution-gate.js","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-gate.js","sourceRoot":"","sources":["../../src/delivery/execution-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,uEAAuE;AACvE,SAAS,OAAO;IACd,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC;AAwDD;;;;;GAKG;AACH,MAAM,cAAc,GAAG;;;;;;oBAMH,CAAC;AAErB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCzB,CAAC;AAEJ,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ;IACzE,cAAc,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,kBAAkB;IAC5E,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;IACpE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IACvE,QAAQ,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB;IAC9E,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB;IAC/E,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW;CAClF,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1G,uEAAuE;AACvE,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5B,wEAAwE;IACxE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,0FAA0F;AAC1F,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IAC7D,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACtD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,QAAQ;gBAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;AAChD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,IAAI,eAAe,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAKpD,CAAC;YACF,IAAI,GAAG,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC1B,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACxD,4EAA4E;YAC5E,2EAA2E;YAC3E,uEAAuE;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,MAAM,IAAI,GAA2B;IACnC,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,KAAK,GAAG,YAAY;IACjE,uEAAuE;IACvE,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACtC,IAAI,CAAC;oBACH,IAAI,OAAe,CAAC;oBACpB,IAAI,CAAC;wBACH,OAAO,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/D,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAC5B,OAAO;oBACT,CAAC;oBACD,uEAAuE;oBACvE,oEAAoE;oBACpE,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACf,OAAO;oBACT,CAAC;oBACD,MAAM,GAAG,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACzE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACtC,6BAA6B;oBAC7B,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;wBAC9D,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC1D,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,wEAAwE;oBACxE,wEAAwE;oBACxE,IAAI,UAAkB,CAAC;oBACvB,IAAI,CAAC;wBACH,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,IAAI,UAAU,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;wBACtE,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,0BAA0B,CAAC,CAAC;oBAC1G,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,yEAAyE;oBACzE,IAAI,CAAC;wBACH,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;wBAC1B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACP,2BAA2B;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,CAAC,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,EAAE,GAAG,EAAE,oBAAoB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAsB,EAAE,KAAa;IACtE,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,KAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAoB,mBAAmB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,mDAAmD;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,uDAAuD;IACvD,MAAM,KAAK,GAAG,SAAS,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,CAAC;IACtG,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,SAAS,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC3D,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,iBAAiB;QAC9B,CAAC,CAAC,sFAAsF;QACxF,CAAC,CAAC,0DAA0D,CAAC;IAC/D,MAAM,MAAM,GAAG,iBAAiB;QAC9B,CAAC,CAAC,gGAAgG;YAChG,uFAAuF,EAAE,aAAa;YACtG,sGAAsG;YACtG,kGAAkG;YAClG,uGAAuG;YACvG,mGAAmG;YACnG,4EAA4E;QAC9E,CAAC,CAAC,uGAAuG;YACvG,uGAAuG;YACvG,mEAAmE,CAAC;IACxE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACnI,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,IAA0B,EAC1B,KAAa;IAEb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,MAAM,GAA8C,IAAI,CAAC;IAC7D,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC;YAC/E,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,iDAAiD;QAChE,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACvD,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtF,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;QAChD,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACvC,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAE,IAA0B,EAAE,KAAK,GAAG,YAAY;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACpD,IAAI,MAAM,GAA8C,IAAI,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,GAAyB,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC;YAC/E,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wEAAwE;YACxE,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;YACD,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,0BAA0B,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;YACvD,4EAA4E;YAC5E,6EAA6E;YAC7E,wDAAwD;YACxD,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrE,CAAC;YACD,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACtC,6EAA6E;YAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,CAAC;oBACX,aAAa,EAAE,4BAA4B,MAAM,GAAG;oBACpD,UAAU,EAAE,OAAO,KAAK,OAAO,MAAM,EAAE;oBACvC,UAAU;oBACV,GAAG,EAAE,SAAS;iBACf,CAAC;YACJ,CAAC;YACD,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,qEAAqE;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,CAAC;oBACX,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,gCAAgC;oBAC9D,UAAU,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;oBACpG,UAAU;oBACV,GAAG,EAAE,SAAS;iBACf,CAAC;YACJ,CAAC;YACD,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,uDAAuD;YACvD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;YACtC,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,CAAC;gBACX,UAAU,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACjB,CAAC,CAAC,uDAAuD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjG,CAAC,CAAC,iDAAiD;gBACvD,UAAU;gBACV,GAAG,EAAE,SAAS;aACf,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,0BAA0B;YACzC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,SAAS;SACf,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,cAAc;IAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtD,OAAO,IAAI,GAAG,CAAC,UAAU,EAA8B,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAkB,EAAE,IAAa,EAAE,KAAK,GAAG,YAAY;IACvG,MAAM,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACtI,CAAC;IACD,8EAA8E;IAC9E,6CAA6C;IAC7C,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,0CAA0C;YACzD,UAAU,EAAE,sFAAsF;YAClG,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,0EAA0E;IAC1E,gFAAgF;IAChF,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,yCAAyC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,yEAAyE;YACzE,uEAAuE;YACvE,2EAA2E;YAC3E,0EAA0E;YAC1E,0DAA0D;YAC1D,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,CAAC;oBACX,aAAa,EAAE,2DAA2D;oBAC1E,UAAU,EAAE,GAAG,KAAK,UAAU,CAAC,oGAAoG;oBACnI,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC9B,GAAG,EAAE,QAAQ;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,oEAAoE;gBACpE,oEAAoE;gBACpE,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;oBAC1C,OAAO;wBACL,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,CAAC;wBACX,aAAa,EAAE,+BAA+B,CAAC,mBAAmB;wBAClE,UAAU,EAAE,wBAAwB,KAAK,eAAe,CAAC,gGAAgG;wBACzJ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;wBAC9B,GAAG,EAAE,QAAQ;qBACd,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,CAAC;oBACX,aAAa,EAAE,qBAAqB,CAAC,EAAE;oBACvC,UAAU,EAAE,GAAG,KAAK,eAAe,CAAC,uBAAuB;oBAC3D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC9B,GAAG,EAAE,QAAQ;iBACd,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3H,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAEtC,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,iEAAiE;IACjE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,kFAAkF;IAClF,MAAM,MAAM,GAAG,6CAA6C,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU;aACtB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;aACtE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,oCAAoC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACrE,UAAU,EAAE,GAAG,KAAK,qHAAqH,MAAM,8CAA8C;YAC7L,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,QAAQ;SACd,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1B,mEAAmE;QACnE,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAI,EAAwB,EAAE,WAAW,EAAE,IAAI,CAAC;gBAC1D,IAAI,EAAE,YAAY,WAAW,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3D,gEAAgE;oBAChE,uEAAuE;oBACvE,qEAAqE;oBACrE,uEAAuE;oBACvE,uEAAuE;oBACvE,sEAAsE;oBACtE,qEAAqE;oBACrE,MAAM,YAAY,GAChB,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtF,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO;4BACL,MAAM,EAAE,KAAK;4BACb,QAAQ,EAAE,CAAC;4BACX,aAAa,EAAE,2BAA2B,CAAC,CAAC,IAAI,wBAAwB,KAAK,+BAA+B;4BAC5G,UAAU,EACR,GAAG,CAAC,CAAC,IAAI,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI;gCACjD,GAAG,CAAC,CAAC,IAAI,+CAA+C,KAAK,yBAAyB;gCACtF,kGAAkG;gCAClG,uCAAuC,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,IAAI,wBAAwB;gCAChG,+DAA+D,KAAK,WAAW;gCAC/E,yGAAyG;gCACzG,+DAA+D,KAAK,GAAG;gCACvE,2FAA2F;4BAC7F,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC9B,GAAG,EAAE,QAAQ;yBACd,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,CAAC;wBACX,aAAa,EAAE,mBAAmB,CAAC,CAAC,IAAI,EAAE;wBAC1C,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iEAAiE;wBAC1H,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;wBAC9B,GAAG,EAAE,QAAQ;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC;gBACxB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,CAAC;QACR,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,kBAAkB,IAAI,CAAC,MAAM,4CAA4C,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/G,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,QAAQ;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACrE,8EAA8E;QAC9E,0EAA0E;QAC1E,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,+EAA+E;QAC/E,6EAA6E;QAC7E,+EAA+E;QAC/E,mEAAmE;QACnE,sEAAsE;QACtE,MAAM,oBAAoB,GAAG,SAAS,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACrH,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,kBAAkB,SAAS,mCAAmC;gBAC7E,UAAU,EAAE,uBAAuB,SAAS,kDAAkD;gBAC9F,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,GAAG,EAAE,MAAM;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,YAAY,WAAW,IAAK,CAAuB,EAAE,WAAW,EAAE,IAAI,KAAK,aAAa,CAAC;QAC3G,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,mCAAmC;QACnF,IAAI,KAAK,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;YACxC,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,GAAG,EAAE,QAAQ;aACd,CAAC;QACJ,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,0BAA0B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YAC5D,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,8DAA8D;AAC9D,SAAS,eAAe;IACtB,MAAM,SAAS,GAAgE;QAC7E,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,GAAgD,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAwB,EAAE,EAAE;QAC3G,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,OAAO,GAAY,IAAI,KAAK,CAChC,EAAE,EACF;QACE,GAAG,CAAC,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAClC,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,sBAAsB,IAAI,CAAC,KAAK,sBAAsB;gBAC9D,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,KAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,cAAc;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5E,IACE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,0BAA0B,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEjM,OAAO,CAAC,CAAC;YACX,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,GAAG;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CACF,CAAC;IACF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;QACzB,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;QACvC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;KAC7E,CAAC;IACF,MAAM,SAAS,GAAY,IAAI,KAAK,CAClC,EAAE,EACF;QACE,GAAG,CAAC,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,KAAK,kBAAkB;gBAC1B,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,IAAI,KAAI,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,KAAI,CAAC,EAAE,4BAA4B,KAAI,CAAC,EAAE,uBAAuB,KAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,cAAc,KAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnN,IAAI,CAAC,KAAK,YAAY;gBACpB,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,KAAI,CAAC,EAAE,4BAA4B,KAAI,CAAC,EAAE,uBAAuB,KAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5I,IAAI,CAAC,KAAK,cAAc;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,KAAK,oBAAoB;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,IAAI,KAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,KAAK,oBAAoB;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,KAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzI,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,YAAY;gBAAE,OAAO,KAAK,CAAC;YACrC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;KACF,CACF,CAAC;IACF,MAAM,GAAG,GAAyC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,GAAG,GAA4B;QACnC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,GAAG;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;QACvC,qBAAqB,EAAE,CAAC,EAAuB,EAAE,EAAE;YACjD,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACX,CAAC;QACD,oBAAoB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC9B,YAAY,EAAE;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,kBAAkB,EAAE;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;KAC9B,CAAC;IACF,MAAM,GAAG,GAAG;QACV,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM;QAC5B,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM;QAC3B,gBAAgB,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM;QAC3B,IAAI,EAAE,EAAE,WAAW,KAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;KACtC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAA8B,EAAE,EAAQ,EAAE;QACpE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,KAAI,CAAC,EAAE,eAAe,KAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3H,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IAEF,+EAA+E;IAC/E,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,WAAW,GAAG,GAAY,EAAE;QAChC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,CAAC,CAAS,EAAE,CAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACpE,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;YACtB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YAC5C,IAAI,MAAM;gBACR,OAAO,CAAC,CAAC,IAAI,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IACF,SAAS,SAAS;QAChB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAA4B;QACtC,YAAY,EAAE,WAAW,EAAE;QAC3B,cAAc,EAAE,WAAW,EAAE;QAC7B,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,GAAG,EAAE,CACV,OAAO,CAAC,OAAO,CAAC;YACd,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SAChC,CAAC;QACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE;QAChM,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;QACxE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;QAC7J,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,mBAAmB,EAAE,CAAC,EAAwB,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACzH,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC5B,KAAK,EAAE;YACL,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAChJ,CAAC;QACD,GAAG;QACH,eAAe;QACf,WAAW;QACX,WAAW;KACZ,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,OAAO;QACP,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;QAChD,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE;QACrG,UAAU;QACV,YAAY;QACZ,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,aAAa;QACb,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,QAAQ;QACR,UAAU;QACV,GAAG,MAAM;QACT,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAI,CAAa,EAAE,EAAU,EAAE,KAAa;IAC9D,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACrG,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E,SAAS,WAAW,CAAC,WAAmB,EAAE,IAAkB,EAAE,IAA0B;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACvD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,IAAI,GAAsB,QAAQ,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAI9E,CAAC;QACF,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YAC9B,KAAK,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC;YAC7C,IAAI,GAAG,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,+BAA+B,KAAK,IAAI,GAAG,IAAI;YAC9D,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,sFAAsF,CAAC,CAAC;IACxL,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;QAChC,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;QAC3B,GAAG,EAAE,OAAO,EAAE;KACf,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,MAAM,IAAI,MAAM,EAAE;QACtH,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;QACvD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;QAC9B,GAAG,EAAE,eAAe;KACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,OAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;YAC3B,wEAAwE;YACxE,sEAAsE;YACtE,2EAA2E;YAC3E,4EAA4E;YAC5E,wEAAwE;YACxE,6DAA6D;YAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;gBACrD,QAAQ,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ;gBAAE,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,4EAA4E;YAC5E,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,6EAA6E;YAC7E,yEAAyE;YACzE,gDAAgD;YAChD,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,QAAQ,IAAI,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACxD,OAAO,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,kCAAkC;QACjD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,CAAC;QACb,GAAG,EAAE,MAAM;KACZ,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,SAAS,GAAG,kBAAkB;IACzF,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAAC;IAChE,OAAO;QACL,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,6BAA6B,IAAI,YAAY;QACnD,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,mBAAmB,EAAE,EAAE,WAAW,CAAC;QAC1C,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mission-acceptance.d.ts","sourceRoot":"","sources":["../../src/delivery/mission-acceptance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EAEjB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAqB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,gBAAgB,EACnB,iBAAiB,EAAE,OAAO,GACzB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAavD;AAED,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,KAAK,EAAE,YAAY,CAAC;IACpB,oDAAoD;IACpD,aAAa,EAAE,YAAY,CAAC;IAC5B;8EAC0E;IAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAC3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAkEtF"}
1
+ {"version":3,"file":"mission-acceptance.d.ts","sourceRoot":"","sources":["../../src/delivery/mission-acceptance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,iBAAiB,EAEjB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAqB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,gBAAgB,EACnB,iBAAiB,EAAE,OAAO,GACzB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAavD;AAED,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,KAAK,EAAE,YAAY,CAAC;IACpB,oDAAoD;IACpD,aAAa,EAAE,YAAY,CAAC;IAC5B;8EAC0E;IAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,wBAAwB,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAC3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAiHtF"}
@@ -99,45 +99,85 @@ export function buildMissionAcceptanceGate(deps) {
99
99
  const userPathsNote = deps.userPathsNote ?? buildUserPathsNote;
100
100
  // eslint-disable-next-line no-console
101
101
  const note = deps.note ?? ((line) => console.log(line));
102
- return async (root) => {
102
+ return async (root, gateCtx) => {
103
+ // Explicit `=== false` — an undefined ctx means the caller did not tell us,
104
+ // which must not be read as "the ladder was green".
105
+ const ladderRed = gateCtx?.ladderPassed === false;
103
106
  // Primary mode: the only objective rung is the trivial bootstrap, and the
104
107
  // real execution gate joins via redetect only on the NEXT turn (one-turn
105
108
  // lag). So gate the artifact's runtime HERE too — idempotent with the
106
109
  // redetected execution rung on later turns.
110
+ //
111
+ // SECONDARY mode (objective gates exist) under MAX FIDELITY also runs the
112
+ // vision review here. It used to run only in primary mode, so a run whose
113
+ // only red rung was a synthetic anti-vacuous self-gate never reached vision:
114
+ // the ladder stayed red, the aesthetic review was skipped, and the model
115
+ // stalled with no visual feedback while fidelity-max verify still BLOCKED
116
+ // delivery on that same vision score (Generator≠Evaluator). Ordering is
117
+ // preserved: the review runs only once the deliverable is OPERATIONAL
118
+ // (execution passes) and BEHAVING as specified (user paths not failing) —
119
+ // never grade pixels of an app that does not run or misbehaves.
120
+ const fidelity = resolveFidelity(root);
107
121
  let visualNote = '';
108
- if (deps.primary) {
122
+ if (deps.primary || fidelity.max) {
109
123
  const exec = await executionGate(root);
110
124
  if (!exec.passed) {
125
+ // Operational gate: a build that does not run cannot be accepted, in
126
+ // either mode. (In secondary mode this gate only runs on a red ladder
127
+ // under runAcceptanceDespiteLadder; returning here avoids judging /
128
+ // grading a broken build.)
111
129
  return {
112
130
  passed: false,
113
131
  feedback: `EXECUTION FAILED — the code must run before it can be accepted:\n${exec.outputTail}`,
114
132
  };
115
133
  }
116
- // Visual gate: watch the artifact RUN — the observation summary becomes
117
- // judge evidence (a code-evidence judge cannot see a never-started
118
- // animation; this can).
119
- const visual = await visualGate(root);
120
- if (!visual.skipped && !visual.passed) {
121
- return { passed: false, feedback: visual.feedback };
122
- }
123
- visualNote = visualRuntimeNote(visual);
124
- // Fidelity-max: the loop must converge against the SAME aesthetic bar
125
- // verify enforces, or "delivered" and "verified" diverge (run Y).
126
- if (!visual.skipped) {
127
- const visionReview = deps.visionReview ?? visionAcceptanceFeedback;
128
- const shots = visual.pages.flatMap((pg) => pg.screenshots.slice(-1));
129
- const visionFail = await visionReview(root, deps.specs.resolve(root), shots);
130
- if (visionFail) {
131
- return { passed: false, feedback: visionFail };
134
+ else {
135
+ // Behavioral gate: do not grade how it LOOKS while user paths FAIL —
136
+ // fix the broken UX first (the required ordering).
137
+ const uv = userPathsNote(root);
138
+ const behavioralFailing = Boolean(uv?.trusted && /User-path validation FAILED/.test(uv.note));
139
+ if (!behavioralFailing) {
140
+ // Visual gate: watch the artifact RUN — the observation summary becomes
141
+ // judge evidence (a code-evidence judge cannot see a never-started
142
+ // animation; this can).
143
+ const visual = await visualGate(root);
144
+ if (!visual.skipped && !visual.passed && deps.primary) {
145
+ return { passed: false, feedback: visual.feedback };
146
+ }
147
+ visualNote = visualRuntimeNote(visual);
148
+ // Fidelity-max: the loop must converge against the SAME aesthetic bar
149
+ // verify enforces, or "delivered" and "verified" diverge (run Y).
150
+ // Runs in primary mode (always, as before) and in secondary mode under
151
+ // max fidelity (the new path that breaks the self-gate catch-22).
152
+ if (!visual.skipped && (deps.primary || fidelity.max)) {
153
+ const visionReview = deps.visionReview ?? visionAcceptanceFeedback;
154
+ const shots = visual.pages.flatMap((pg) => pg.screenshots.slice(-1));
155
+ const visionFail = await visionReview(root, deps.specs.resolve(root), shots);
156
+ if (visionFail) {
157
+ return { passed: false, feedback: visionFail };
158
+ }
159
+ }
132
160
  }
133
161
  }
134
162
  }
135
163
  const resolvedSpec = deps.specs.resolve(root);
136
164
  const uvNote = userPathsNote(root);
165
+ // The secondary-mode note asserts the objective gates passed. That was safe
166
+ // while acceptance only ever ran on a green ladder; under
167
+ // runAcceptanceDespiteLadder it would instruct the judge to treat FAILING
168
+ // build/test requirements as objectively verified — a direct route to
169
+ // accepting criteria the gates are actively rejecting.
137
170
  const baseNote = deps.primary
138
171
  ? visualNote
139
- : 'Objective project gates (build/test suite) ALL PASSED on this turn — treat test/build-related requirements as objectively verified.';
140
- const runtimeNote = [baseNote, uvNote?.note].filter(Boolean).join(' ');
172
+ : ladderRed
173
+ ? 'Objective project gates are currently FAILING on this turn — do NOT treat build/test-related requirements as verified. Judge only what the evidence supports.'
174
+ : 'Objective project gates (build/test suite) ALL PASSED on this turn — treat test/build-related requirements as objectively verified.';
175
+ // The visual observation is real evidence in BOTH modes; discarding it in
176
+ // secondary mode meant paying for a headless browser pass and then throwing
177
+ // the result away.
178
+ const runtimeNote = [baseNote, deps.primary ? '' : visualNote, uvNote?.note]
179
+ .filter(Boolean)
180
+ .join(' ');
141
181
  const r = await judge({
142
182
  spec: resolvedSpec,
143
183
  projectRoot: root,
@@ -147,7 +187,15 @@ export function buildMissionAcceptanceGate(deps) {
147
187
  const verdict = resolveAcceptanceVerdict(r, deps.primary);
148
188
  // Secondary mode only: bounded consecutive judge rejections of
149
189
  // objectively-green turns hand the verdict back to the gates.
150
- if (!deps.primary) {
190
+ //
191
+ // `ladderRed` is load-bearing. The breaker's contract is "the gates say yes,
192
+ // the judge keeps saying no — trust the gates", and it only resets its counter
193
+ // on a PASSING verdict. Feed it red turns (as runAcceptanceDespiteLadder now
194
+ // can) and the count climbs on turns where the gates are saying no too; once
195
+ // it trips it never resets, so every later turn is force-accepted — including
196
+ // the turn the ladder finally goes green, delivering with the judge still
197
+ // holding that the spec is unmet. Red turns are simply not its business.
198
+ if (!deps.primary && !ladderRed) {
151
199
  const checked = deps.specs.breaker(resolvedSpec, root).check(resolvedSpec, verdict);
152
200
  if (checked.overridden) {
153
201
  note('⚖ acceptance: judge rejected consecutive objectively-green turns — accepting on gates (raise UAP_DELIVER_ACCEPTANCE_FLIP_LIMIT to let the judge argue longer)');
@@ -1 +1 @@
1
- {"version":3,"file":"mission-acceptance.js","sourceRoot":"","sources":["../../src/delivery/mission-acceptance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,CAAmB,EACnB,iBAA0B;IAE1B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrF,MAAM,IAAI,GAAG,4DAA4D,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,4BAA4B,CAAC,CAAC,UAAU,iFAAiF;aACpI,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC;AAoBD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,IAAY,EACZ,WAAqB;IAErB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC3H,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC/G,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;YAAE,MAAM,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAClE,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,CACL,iDAAiD,OAAO,CAAC,KAAK,+BAA+B,QAAQ,CAAC,cAAc,KAAK;YACzH,uDAAuD;YACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,sHAAsH,CACvH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,IAA2B;IACpE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC;IAC/D,sCAAsC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,4CAA4C;QAC5C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,oEAAoE,IAAI,CAAC,UAAU,EAAE;iBAChG,CAAC;YACJ,CAAC;YACD,wEAAwE;YACxE,mEAAmE;YACnE,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtD,CAAC;YACD,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,wBAAwB,CAAC;gBACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7E,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;YAC3B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,qIAAqI,CAAC;QAC1I,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC;YACpB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,+DAA+D;QAC/D,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CACF,+JAA+J,CAChK,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mission-acceptance.js","sourceRoot":"","sources":["../../src/delivery/mission-acceptance.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,36 @@ export declare function loadUserPaths(projectRoot: string): ManifestValidation |
75
75
  export declare function mergeUserPaths(projectRoot: string, derived: UserPathsManifest): UserPathsManifest;
76
76
  /** Extract the first JSON object or array from model output (```json fences or bare). */
77
77
  export declare function parseManifestFromModel(text: string): UserPathsManifest | null;
78
+ /**
79
+ * Render the derived user-path manifest as an ACCEPTANCE CONTRACT for the
80
+ * implementer — the concrete journeys + selectors the real-client validator
81
+ * will drive. Injected into the executor's prompt every turn (convergence-loop
82
+ * PromptContext.acceptanceContract) so the model builds a COMPLETE, drivable
83
+ * artifact from turn 1 instead of discovering the contract only through gate
84
+ * failures a weak model cannot act on. Generic across web/http/cli missions.
85
+ *
86
+ * The canvas→DOM bridge line is the completeness rail this exists for: an
87
+ * automated client can only see/click DOM nodes, so a canvas-only UI (a common
88
+ * small-model output for games/visualizations) must ALSO expose the referenced
89
+ * selectors as real DOM elements. A transparent overlay preserves the visual
90
+ * composite the aesthetic judge grades. Returns '' when there is nothing to
91
+ * assert (no manifest / no steps) so callers can inject unconditionally.
92
+ */
93
+ export declare function renderAcceptanceContract(manifest: UserPathsManifest | null | undefined): string;
78
94
  export type ModelExecutor = (prompt: string) => Promise<string>;
95
+ /**
96
+ * Deterministic backstop for the canvas REACHABILITY rule (expect_visible half —
97
+ * sanitizeCanvasTextAssertions only handles expect_text). A weak miner asserts
98
+ * individual canvas-drawn entities as DOM nodes (observed live on the octopus
99
+ * retest: `.enemy-rect`, `.particle`, `#player-ship`). Those are painted on the
100
+ * <canvas>, never in the DOM, so the step can NEVER pass and DEADLOCKS the gate.
101
+ * For canvas missions, drop steps whose target is a CLASS selector (`.foo`) —
102
+ * per-entity collections are always classes and a canvas app has no DOM class
103
+ * entities. Id/tag chrome (#start, #hud, #game-over, canvas) is kept; a path left
104
+ * with no assertion gets an expect_no_console_errors floor. Non-canvas missions
105
+ * and http/cli paths are untouched.
106
+ */
107
+ export declare function sanitizeCanvasEntityAssertions(manifest: UserPathsManifest, instruction: string): UserPathsManifest;
79
108
  /**
80
109
  * One evaluator-model call that proposes user paths for a mission. Fail-soft:
81
110
  * returns null on any error/parse failure so delivery never wedges on the
@@ -115,4 +144,17 @@ export declare function dropRedundantStaticServer(manifest: UserPathsManifest):
115
144
  * Prompt-following models are untouched (nothing to strip).
116
145
  */
117
146
  export declare function sanitizeCanvasTextAssertions(manifest: UserPathsManifest, instruction: string): UserPathsManifest;
147
+ /**
148
+ * Deterministic backstop for the REACHABILITY rule: a weak miner still emits
149
+ * assertions a mechanical click-validator can NEVER satisfy — a specific score
150
+ * or level number that requires actually playing (observed live on the octopus
151
+ * retest: `expect_text {#hud-level:"5"}`, `{#hud-score:"10"}`, `{#hud-score:"100"}`).
152
+ * Such a step cannot pass by scripted input, so it DEADLOCKS the user-path gate
153
+ * (the loop spins 3 turns unchanged and gives up). Loosen each numeric-outcome
154
+ * `expect_text` on a browser path to an `expect_visible` on the same selector —
155
+ * the element's PRESENCE is scripted-reachable, its exact game-state value is not.
156
+ * Word-bearing text ("OCTOPUS INVADERS", "Score", "GAME OVER") is untouched.
157
+ * Browser paths only; http/cli numeric bodies are legitimate and left alone.
158
+ */
159
+ export declare function sanitizeUnreachableGameStateAssertions(manifest: UserPathsManifest): UserPathsManifest;
118
160
  //# sourceMappingURL=user-paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-paths.d.ts","sourceRoot":"","sources":["../../src/delivery/user-paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-paths.d.ts","sourceRoot":"","sources":["../../src/delivery/user-paths.ts"],"names":[],"mappings":"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"}