@pentoshi/clai 3.9.0 → 3.9.2

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 (73) hide show
  1. package/dist/agent/plan-tool.js +1 -1
  2. package/dist/agent/plan-tool.js.map +1 -1
  3. package/dist/agent/responder-context.js +4 -4
  4. package/dist/agent/responder-context.js.map +1 -1
  5. package/dist/agent/runner.js +161 -35
  6. package/dist/agent/runner.js.map +1 -1
  7. package/dist/agent/session-policy.js +1 -0
  8. package/dist/agent/session-policy.js.map +1 -1
  9. package/dist/agent/stream-recovery.d.ts +83 -0
  10. package/dist/agent/stream-recovery.js +270 -0
  11. package/dist/agent/stream-recovery.js.map +1 -0
  12. package/dist/agent/task-evidence.js +2 -0
  13. package/dist/agent/task-evidence.js.map +1 -1
  14. package/dist/agent/tool-call-parser.js +3 -0
  15. package/dist/agent/tool-call-parser.js.map +1 -1
  16. package/dist/app/adapters/agent-event-adapter.d.ts +2 -1
  17. package/dist/app/adapters/agent-event-adapter.js +7 -3
  18. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  19. package/dist/app/adapters/current-jobs-adapter.js +1 -0
  20. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  21. package/dist/app/adapters/quiet-meta-tools.d.ts +4 -3
  22. package/dist/app/adapters/quiet-meta-tools.js +8 -5
  23. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  24. package/dist/app/controllers/job-controller.d.ts +1 -0
  25. package/dist/app/controllers/job-controller.js +3 -0
  26. package/dist/app/controllers/job-controller.js.map +1 -1
  27. package/dist/app/controllers/session-controller.d.ts +2 -1
  28. package/dist/app/controllers/session-controller.js +14 -9
  29. package/dist/app/controllers/session-controller.js.map +1 -1
  30. package/dist/app/controllers/session-prompt-queue.d.ts +1 -1
  31. package/dist/app/controllers/session-prompt-queue.js +1 -2
  32. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  33. package/dist/app/controllers/session-responder.d.ts +1 -2
  34. package/dist/app/controllers/session-responder.js +9 -9
  35. package/dist/app/controllers/session-responder.js.map +1 -1
  36. package/dist/app/controllers/turn-controller.d.ts +2 -1
  37. package/dist/app/controllers/turn-controller.js +5 -2
  38. package/dist/app/controllers/turn-controller.js.map +1 -1
  39. package/dist/app/events/app-event.d.ts +3 -1
  40. package/dist/app/ports/jobs-port.d.ts +1 -0
  41. package/dist/llm/token-usage.js +6 -1
  42. package/dist/llm/token-usage.js.map +1 -1
  43. package/dist/prompts/embedded.js +1 -1
  44. package/dist/prompts/embedded.js.map +1 -1
  45. package/dist/prompts/system.agent.md +3 -2
  46. package/dist/tools/definitions.js +13 -0
  47. package/dist/tools/definitions.js.map +1 -1
  48. package/dist/tools/jobs.d.ts +2 -0
  49. package/dist/tools/jobs.js +74 -18
  50. package/dist/tools/jobs.js.map +1 -1
  51. package/dist/tools/registry.js +1 -0
  52. package/dist/tools/registry.js.map +1 -1
  53. package/dist/tui-v2/app/App.js +4 -1
  54. package/dist/tui-v2/app/App.js.map +1 -1
  55. package/dist/tui-v2/components/jobs/jobs-panel.js +9 -1
  56. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  57. package/dist/tui-v2/components/picker/picker.js +20 -2
  58. package/dist/tui-v2/components/picker/picker.js.map +1 -1
  59. package/dist/tui-v2/components/transcript/transcript-row.d.ts +16 -13
  60. package/dist/tui-v2/components/transcript/transcript-row.js +18 -9
  61. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  62. package/dist/tui-v2/components/transcript/transcript-view.js +7 -12
  63. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  64. package/dist/tui-v2/composer/composer-editor.js +8 -6
  65. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  66. package/dist/tui-v2/state/transcript-reducer.js +4 -2
  67. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  68. package/dist/tui-v2/state/transcript-store.d.ts +8 -1
  69. package/dist/tui-v2/state/transcript-store.js +44 -3
  70. package/dist/tui-v2/state/transcript-store.js.map +1 -1
  71. package/dist/version.generated.d.ts +2 -2
  72. package/dist/version.generated.js +2 -2
  73. package/package.json +1 -1
@@ -332,7 +332,7 @@ export function planContextMessage(plan, approved) {
332
332
  : "";
333
333
  lines.push(` ${i + 1}. [${t.id}] (${t.state}) ${t.title}${hierarchyHint}${jobHint}${aliasHint}${dependencyHint}${resourceHint}${evidenceHint}`);
334
334
  });
335
- lines.push("task.update taskId MUST be t1, t2, … from this list (or a listed alias). Use task.add for newly discovered work; it is placed before unfinished report creation. Use task.move with position/beforeTaskId/afterTaskId to rearrange work without changing ids or evidence. Responder-owned job tasks advance automatically; never task.update them.");
335
+ lines.push("task.update taskId MUST be t1, t2, … from this list (or a listed alias). Use task.add for newly discovered work; it is placed before unfinished report creation. Use task.move with position/beforeTaskId/afterTaskId to rearrange work without changing ids or evidence. Responder-owned job tasks advance automatically; never task.update them. After analyzing a delivered Responder result, task.read its notification before finalizing.");
336
336
  if (plan.meta?.projectRoot) {
337
337
  lines.push(`project_root: ${plan.meta.projectRoot}`);
338
338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,GAG1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,CAAS;IACrD,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,CACL,EAAE,KAAK,EAAE;QACT,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IACE,wNAAwN,CAAC,IAAI,CAC3N,CAAC,CACF,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,qDAAqD,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,IAAI,uEAAuE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,8CAA8C;IAC9C,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,iDAAiD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,+CAA+C;IAC/C,IACE,sEAAsE,CAAC,IAAI,CAAC,IAAI,CAAC;QACjF,CAAC,qGAAqG,CAAC,IAAI,CACzG,IAAI,CACL,EACD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,qEAAqE;QACrE,OAAO,qHAAqH,CAAC,IAAI,CAC/H,IAAI,CACL,CAAC;IACJ,CAAC;IACD,OAAO,4GAA4G,CAAC,IAAI,CACtH,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,CACL,0CAA0C,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,6DAA6D,CAAC,IAAI,CACvE,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACvB,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,CACR,QAAQ,EACR,CAAC,EACD,0EAA0E,CAC3E,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,IAAI,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,oFAAoF,CAAC,IAAI,CACvF,CAAC,CACF;QACD,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,gDAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,wFAAwF,CAAC,IAAI,CAC3F,IAAI,CACL;QACD,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACvB,kFAAkF;IAClF,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,QAAgB,CAAC;IACrB,IAAI,UAAU,IAAI,CAAC;QAAE,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC;SAC1C,IAAI,WAAW,IAAI,CAAC;QAAE,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;SACjD,IAAI,MAAM,IAAI,CAAC;QAAE,QAAQ,GAAG,MAAM,CAAC;;QACnC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAC3B,GAAG,CAAC,MAAM,CACR,QAAQ,EACR,CAAC,EACD,0FAA0F,CAC3F,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,KAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO;QACL,GAAG,KAAK;QACR,2FAA2F;KAC5F,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,KAAa,EACb,OAAe,EACf,KAAe;IAEf,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,+BAA+B;IAC/B,IAAI,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,yEAAyE,CAAC,IAAI,CAAC,IAAI,CAAC;WACtF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,WAAqB;IACvC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;AACvB,CAAC;AAED,gEAAgE;AAChE,SAAS,iBAAiB,CAAC,IAA6B;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;IACnE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7D,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;IAC3E,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG;aACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA6B;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAU;IACpC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI;YACd,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,aAAa;YACb,OAAO;YACP,MAAM;YACN,SAAS;SACV,EAAE,CAAC;YACF,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAUD;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAA6B;IACvD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,wBAAwB,CACtC,IAA6B;IAE7B,MAAM,GAAG,GACP,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACzE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG;aACP,KAAK,CAAC,6BAA6B,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACpD,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,KAAK;YACL,OAAO,EAAE,EAAc;YACvB,YAAY,EAAE,EAAc;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,aAAa,EAAE,EAAc;SAC9B,CAAC,CAAC,CAAC;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAA4B,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,uDAAuD;YACvD,IACE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;gBACb,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EACnD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAY,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3H,CAAC,CAAC,EAAE,CAAC;QACT,OAAO;YACL,KAAK;YACL,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC;YAClE,qBAAqB,EACnB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;YAC3D,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC;SACrE,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,CAAC,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAgBD,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,IAAiB,EAAE,QAAiB;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CACR,gBAAgB,IAAI,CAAC,OAAO,IAAI,CAAC,4BAA4B,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,IAAI,CACnG,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,SAAS,GACb,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YACxC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,EAAE,MAAM;YAC3C,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,YAAY,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM;YAC1C,CAAC,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,gBAAgB;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,gBAAgB,mBAAmB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YAC/K,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,aAAa,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK;YACrB,CAAC,CAAC,mBAAmB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;YAC1E,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CACR,oVAAoV,CACrV,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,CAC/D,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAC1D,CAAC;QACF,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa;gBAC3B,IAAI,CAAC,KAAK,KAAK,SAAS;gBACxB,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC7B,CAAC;QACF,KAAK,CAAC,IAAI,CACR,oGAAoG,CACrG,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CACR,eAAe,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,sCAAsC;gBACrF,0EAA0E;gBAC1E,yCAAyC,CAC5C,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CACR,qBAAqB,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,2CAA2C;gBACxF,iGAAiG,CACpG,CAAC;QACJ,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,mBAAmB,YAAY,CAAC,EAAE,KAAK,YAAY,CAAC,KAAK,KAAK;gBAC5D,yCAAyC,CAC5C,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CACR,2GAA2G;gBACzG,8GAA8G;gBAC9G,iHAAiH;gBACjH,oFAAoF,CACvF,CAAC;YACF,KAAK,CAAC,IAAI,CACR,gHAAgH;gBAC9G,+GAA+G;gBAC/G,2GAA2G;gBAC3G,wGAAwG,CAC3G,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CACR,kGAAkG;YAChG,2FAA2F;YAC3F,yHAAyH;YACzH,gMAAgM;YAChM,+JAA+J;YAC/J,gIAAgI;YAChI,+DAA+D;YAC/D,6FAA6F;YAC7F,6GAA6G;YAC7G,yJAAyJ;YACzJ,2JAA2J,CAC9J,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,4FAA4F;YAC1F,kGAAkG;YAClG,2FAA2F;YAC3F,mFAAmF;YACnF,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,OAAsB,EACtB,GAAkE;IAElE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,KAAK,GAAG,CAAC,SAAS,CAAC;IACnB,KAAK,GAAG,CAAC,IAAI,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,OAAO,CAAC,iBAAiB;QAAE,OAAO,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACjF,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,CAAC,gBAAgB,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,sEAAsE,CACvE;gBACD,SAAS,EACP,yEAAyE;oBACzE,kGAAkG;oBAClG,wJAAwJ;aAC3J,CAAC;QACJ,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,6EAA6E;QAC7E,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,yEAAyE,CAC1E;gBACD,SAAS,EACP,iFAAiF;oBACjF,6FAA6F;oBAC7F,mDAAmD;aACtD,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE9E,mEAAmE;QACnE,IACE,YAAY;YACZ,CAAC,YAAY,CAAC,MAAM,KAAK,WAAW;gBAClC,YAAY,CAAC,KAAK,CAAC,KAAK,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CACtE,CAAC;YACJ,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,EAClC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,MAAM,CACnB,+DAA+D,CAChE;gBACD,SAAS,EACP,gGAAgG;oBAChG,0DAA0D;oBAC1D,2EAA2E;oBAC3E,uFAAuF;oBACvF,sDAAsD;aACzD,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,YAAY;YACnC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,IAAI,GACR,IAAI,IAAI,YAAY,EAAE,IAAI;YACxB,CAAC,CAAC;gBACE,GAAG,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,IAAI,GAAG,UAAU,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,gBAAgB;YAC5B,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,2EAA2E;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,GAAG,OAAO,CAAC;YACrD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,IAAI,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,aAAa,GAAG,KAAK,CAAC;QACzD,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CACtC,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAClE,CAAC;YACF,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACpD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CACnE,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACzB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,mEAAmE;YACnE,gFAAgF;YAChF,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CACtD,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACpC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvB,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;oBAChC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;gBACf,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;YAED,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAEjE,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,2DAA2D;gBAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK;qBACtC,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;oBACjC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CACjD,CACJ;qBACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACf,IAAI,OAAO,CAAC,cAAc;wBAAE,OAAO,OAAO,CAAC;oBAC3C,IACE,OAAO,CAAC,KAAK,KAAK,MAAM;wBACxB,OAAO,CAAC,KAAK,KAAK,SAAS;wBAC3B,OAAO,CAAC,KAAK,KAAK,QAAQ,EAC1B,CAAC;wBACD,OAAO,OAAO,CAAC;oBACjB,CAAC;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;wBACpC,OAAO;4BACL,GAAG,OAAO;4BACV,KAAK,EAAE,SAAkB;4BACzB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,6BAA6B;yBACpD,CAAC;oBACJ,CAAC;oBACD,oDAAoD;oBACpD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CACnC,CAAC;YACJ,CAAC;YAED,8EAA8E;YAC9E,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChE,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;oBACzC,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC9D,uBAAuB,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjC,oEAAoE;gBACpE,mEAAmE;gBACnE,MAAM,UAAU,GAAG,KAAK,EAAE,qBAAqB;oBAC7C,CAAC,CAAC,KAAK,CAAC,YAAY;oBACpB,CAAC,CAAC,KAAK,GAAG,CAAC;wBACT,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;wBACjC,CAAC,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,GAAG;oBAClB,GAAG,IAAI,GAAG,CACR,UAAU;yBACP,GAAG,CACF,CAAC,SAAS,EAAE,EAAE,CACZ,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC;wBACtC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;wBAClC,SAAS,CACZ;yBACA,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAClC;iBACF,CAAC;YACJ,CAAC;YAED,6DAA6D;YAC7D,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CACtE,CAAC;YACF,MAAM,qBAAqB,GACzB,aAAa,CAAC,MAAM,GAAG,CAAC;gBACxB,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,CAAC,CAAC,EAAE,EAAE,CACJ,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM;wBACjB,CAAC,CAAC,KAAK,KAAK,SAAS;wBACrB,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC1B,CACF,CAAC;YACJ,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,kBAAkB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CACrC,CAAC;gBACF,OAAO,CACL,GAAG;oBACH,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;oBACjD,CAAC,CAAC,KAAK,KAAK,SAAS,CACtB,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,YAAY;gBACV,qBAAqB;oBACrB,aAAa;oBACb,cAAc;oBACd,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK;wBACzB,YAAY,CAAC,MAAM,KAAK,UAAU;wBAClC,YAAY,CAAC,MAAM,KAAK,aAAa;wBACrC,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAEzC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,kEAAkE;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,CAAC;YACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,+CAA+C,KAAK,CAAC,MAAM,IAAI,CAChE;oBACD,SAAS,EAAE,uBAAuB,KAAK,CAAC,MAAM,oEAAoE;iBACnH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC9B,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;gBAC3C,SAAS;gBACT,IAAI;gBACJ,KAAK,CAAC,GAAG,CACP,yEAAyE;oBACvE,oDAAoD,CACvD;YACH,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC;oBAChD,SAAS;oBACT,IAAI;oBACJ,KAAK,CAAC,GAAG,CACP,sEAAsE,CACvE;gBACH,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC5B,SAAS;oBACT,IAAI;oBACJ,KAAK,CAAC,GAAG,CACP,uEAAuE;wBACrE,iDAAiD,CACpD,CAAC;QAER,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,IAAI;YACR,IAAI;YACJ,OAAO;YACP,SAAS,EAAE,YAAY;gBACrB,CAAC,CAAC,uCAAuC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,4BAA4B;oBAC/I,sDAAsD;oBACtD,CAAC,YAAY;wBACX,CAAC,CAAC,kBAAkB,YAAY,CAAC,EAAE,MAAM,YAAY,CAAC,KAAK,UAAU;wBACrE,CAAC,CAAC,EAAE,CAAC;oBACP,mGAAmG;oBACnG,yFAAyF;oBACzF,8EAA8E;gBAChF,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,MAAM,yBAAyB;wBAC1E,CAAC,YAAY;4BACX,CAAC,CAAC,eAAe,YAAY,CAAC,EAAE,MAAM,YAAY,CAAC,KAAK,KAAK;4BAC7D,CAAC,CAAC,EAAE,CAAC;wBACP,4HAA4H;oBAC9H,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,kEAAkE;wBACtG,0DAA0D;wBAC1D,yGAAyG;wBACzG,qGAAqG;wBACrG,uFAAuF;wBACvF,mGAAmG;wBACnG,4FAA4F;SACnG,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,OAAO,IAAI,CAAC,IAAI,6CAA6C,CAC9D;YACD,SAAS,EACP,GAAG,IAAI,CAAC,IAAI,2DAA2D;SAC1E,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC;QAC3D,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ;YACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC/B,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ;YACvC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAC9B,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,KAAK,SAAS,CAAC;aAC9E,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC;gBACtF,SAAS,EACP,kGAAkG;aACrG,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAChD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC;oBACzE,SAAS,EAAE,yEAAyE;iBACrF,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,SAAS,IAAI,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;YACjE,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC3E,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,kCAAkC,SAAS,KAAK,CAAC;oBACpE,SAAS,EAAE,sBAAsB,SAAS,2CAA2C;iBACtF,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YACxE,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,EAAE;YAC9C,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAClC,MAAM,EAAE,MAAM;YACd,KAAK;SACN,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,IAAI;YAC9C,SAAS,EACP,UAAU,MAAM,iBAAiB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI;gBAC9F,+EAA+E;SAClF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,kBAAkB,CAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CACpD,CAAC;QACF,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC;gBAC9D,SAAS,EAAE,mEAAmE;aAC/E,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ;YACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YACxB,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACpB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,YAAY,GAAG,SAAS;YAC5B,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,iCAAiC,SAAS,KAAK,CAAC;gBACnE,SAAS,EAAE,0CAA0C,SAAS,yCAAyC;aACxG,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,KAAc,EAAY,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3H,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,YAAY,GAAG,WAAW,CAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAC9C,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CACzC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CACnE,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,qCAAqC,iBAAiB,KAAK,CAAC;gBAC/E,SAAS,EAAE,wCAAwC,iBAAiB,wCAAwC;aAC7G,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,SAAS;YACZ,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACjD,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SACpD,CAAC,CAAC,CAAC;QACJ,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE;YAChC,KAAK;YACL,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrE,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/C,YAAY;YACZ,aAAa,EAAE,WAAW,CACxB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAC/C;YACD,YAAY;SACb,CAAC,CAAC;QACH,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,SAAS,CAAC,cAAc;gBACzB,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,CAC3E,CAAC;YACF,IACE,MAAM;gBACN,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;gBACrB,MAAM,CAAC,KAAK,KAAK,MAAM;gBACvB,MAAM,CAAC,KAAK,KAAK,SAAS;gBAC1B,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EACvC,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa;oBAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC7D,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;oBACvB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,wCAAwC,IAAI,CAAC,EAAE,EAAE;oBACjE,CAAC,CAAC,sCAAsC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACpD,cAAc,GAAG,YAAY,MAAM,CAAC,EAAE,sCAAsC,CAAC;YAC/E,CAAC;iBAAM,IAAI,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE;oBAClC,KAAK,EAAE,0CAA0C,IAAI,CAAC,EAAE,EAAE;oBAC1D,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,aAAa,EAAE,EAAE;oBACjB,IAAI,EAAE,mDAAmD,IAAI,CAAC,EAAE,EAAE;iBACnE,CAAC,CAAC;gBACH,cAAc,GAAG,WAAW,MAAM,CAAC,EAAE,mDAAmD,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,IACE,OAAO,CAAC,YAAY,CAAC,KAAK;YAC1B,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,EAC1F,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC9B,CAAC;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,MAAM,IAAI,CAAC;gBAC1D,SAAS,EAAE,oBAAoB,UAAU,CAAC,MAAM,GAAG;aACpD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,IAAI;YACR,IAAI;YACJ,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI;YAC3C,SAAS,EACP,UAAU,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,WAAW,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,qCAAqC,cAAc,GAAG;gBACzI,0KAA0K;SAC7K,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;QAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QAClB,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACd,CAAC,CAAC,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,WAAW,GAAgB;QAC/B,SAAS;QACT,aAAa;QACb,MAAM;QACN,QAAQ;QACR,SAAS;KACV,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAqB,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,yCAAyC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACpE;YACD,SAAS,EAAE,4CAA4C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACjF,CAAC;IACJ,CAAC;IACD,yDAAyD;IACzD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACjE,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK,CAAC,MAAM,CACnB,qBAAqB,MAAM,+BAA+B,UAAU,CAAC,KAAK,IAAI,GAAG,IAAI,CACtF;YACD,SAAS,EACP,sBAAsB,MAAM,iDAAiD;gBAC7E,iKAAiK;SACpK,CAAC;IACJ,CAAC;IAED,IAAI,iBAAqC,CAAC;IAC1C,IAAI,sBAA0C,CAAC;IAE/C,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACtE,MAAM,kBAAkB,GAAG,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC;QACtD,IAAI,MAAM,EAAE,KAAK,KAAK,MAAM,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,uCAAuC,WAAW,CAAC,EAAE,6BAA6B,WAAW,CAAC,KAAK,KAAK;gBAC1G,CAAC,CAAC,kEAAkE,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,qBAAqB,MAAM,gBAAgB,MAAM,CAAC,KAAK,qBAAqB,CAC7E;gBACD,SAAS,EACP,wBAAwB,MAAM,gBAAgB,MAAM,CAAC,KAAK,IAAI;oBAC9D,iCAAiC,QAAQ,EAAE;aAC9C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;gBAChF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACzE,OAAO,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,MAAM,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,KAAK;iBACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;iBACpE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAC/C,CAAC;YACF,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7F,IACE,MAAM;gBACN,sBAAsB,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,kBAAkB;gBACnB,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;gBACD,iBAAiB,GAAG,uBAAuB,CAAC;oBAC1C,MAAM;oBACN,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC5C,EAAE;wBACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;qBAC9D,CAAC,CAAC;iBACJ,CAAC,CAAC;gBACH,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1E,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,MAAM,sCAAsC,CAAC;oBACrF,SAAS,EACP,wBAAwB,MAAM,kBAAkB;wBAChD,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/F,CAAC,SAAS;4BACR,CAAC,CAAC,mCAAmC,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,KAAK,KAAK;4BAC3E,CAAC,CAAC,EAAE,CAAC;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,kBAAkB,IAAI,MAAM;YAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC7D,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YAChF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YACzE,OAAO,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,MAAM,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,qCAAqC,MAAM,yBAAyB,CAAC;gBACxF,SAAS,EAAE,+CAA+C,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,MAAM,IAAI;aAC/H,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YAC7C,0EAA0E;YAC1E,2EAA2E;YAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,EAAE,EAAE,KAAK;wBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,yCAAyC,MAAM,uBAAuB,CACvE;wBACD,SAAS,EAAE,oDAAoD,MAAM,IAAI;qBAC1E,CAAC;gBACJ,CAAC;gBACD,8DAA8D;YAChE,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,qBAAqB,MAAM,8CAA8C,CAC1E;oBACD,SAAS,EACP,wBAAwB,MAAM,eAAe;wBAC7C,6BAA6B,MAAM,uEAAuE;iBAC7G,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,qBAAqB,MAAM,2CAA2C,CACvE;oBACD,SAAS,EACP,wBAAwB,MAAM,QAAQ,MAAM,CAAC,KAAK,IAAI;wBACtD,2DAA2D;wBAC3D,CAAC,SAAS;4BACR,CAAC,CAAC,qBAAqB,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,KAAK,KAAK;4BAC7D,CAAC,CAAC,EAAE,CAAC;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAqB,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;aACrB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG;YACtB,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK,CAAC,GAAG,CAChB,oCAAoC,SAAS,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CACrG;YACD,SAAS,EACP,uCAAuC,SAAS,KAAK;gBACrD,0CAA0C,KAAK,GAAG;SACrD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ;QAAE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IACnE,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,SAAiB,CAAC;IACtB,IAAI,UAAU,EAAE,CAAC;QACf,SAAS;YACP,wHAAwH;gBACxH,sFAAsF,CAAC;IAC3F,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACpE,SAAS;YACP,0DAA0D,MAAM,CAAC,MAAM,mBAAmB;gBAC1F,4GAA4G,CAAC;IACjH,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC;QAC9C,SAAS;YACP,SAAS,MAAM,qCAAqC;gBACpD,2DAA2D,WAAW,CAAC,EAAE,2BAA2B;gBACpG,qBAAqB,WAAW,CAAC,KAAK,8DAA8D;gBACpG,oEAAoE,CAAC;IACzE,CAAC;SAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QACtC,SAAS;YACP,SAAS,MAAM,yEAAyE;gBACxF,uEAAuE;gBACvE,6BAA6B,MAAM,2DAA2D,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,oDAAoD,CAAC;IACnE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,IAAI;QACR,IAAI;QACJ,OAAO,EACL,SAAS;YACT,IAAI;YACJ,CAAC,iBAAiB;gBAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,iBAAiB,IAAI,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;QACT,SAAS,EAAE,iBAAiB;YAC1B,CAAC,CAAC,GAAG,iBAAiB,KAAK,SAAS,EAAE;YACtC,CAAC,CAAC,SAAS;QACb,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function responderContextMessage(input) {
23
23
  }
24
24
  }
25
25
  if (input.pending.length > 0) {
26
- lines.push("Unacknowledged completions (durable until a completed turn persists analysis):");
26
+ lines.push("Unread completions (durable until task.read and persisted analysis):");
27
27
  for (const notification of input.pending.slice(0, 12)) {
28
28
  lines.push(`- notification=${notification.id} job=${notification.jobId} status=${notification.status}` +
29
29
  ` exit=${notification.exitCode ?? "?"}` +
@@ -35,7 +35,7 @@ export function responderContextMessage(input) {
35
35
  ` stderr=${notification.stderrArtifact.path}`);
36
36
  }
37
37
  }
38
- lines.push("FIRE AND CONTINUE: after launching, move to the next task immediately. Do NOT sleep, shell.jobs-poll, repeat shell.tail, or fs.read the job log to watch progress — this inbox delivers each completion to you automatically at the next safe model boundary.", "PARENT-DONE RULE: a parent task is done when its own non-Responder work is done; Responder-owned child subtasks advance from the real process lifecycle — never mark, block on, or wait for them.", "TASK SETTLEMENT: Responder-owned tasks reconcile automatically from the latest authoritative job result after analysis. If the artifacts are satisfactory, report the findings and continue or stop; do not call task.update for that child.", "ON COMPLETION (delivered here): extract ONLY the key result lines from the artifact with a filter — grep the matched status codes / hits / findings, or a bounded shell.tail byte-window — NEVER a full fs.read of a noisy scanner log. Analyze just those lines, task.add evidence-driven follow-ups, then test them. Never launch a duplicate while a job is live.", "FINAL REPORT DEFERRAL: if the only remaining foreground task is report creation and Responder work is still running or awaiting analysis, leave the report open and STOP. Do not invent busywork or repeat completed work; the next completion resumes analysis automatically. If a completion reveals new surface, add and execute that work before returning to the report.", "FRAME COMMANDS TO PRESERVE THE KEY FIELDS: choose flags/output so the completed result still carries exactly what you need and little else — e.g. ffuf with -json (or a matcher on real codes, not a blanket -mc all), nmap -oX/-oG, grep -o for just the hits. Never run a command that discards the required signal.", "ONLY when every other non-report task is finished and nothing else remains may you call shell.jobs ONCE. If jobs are still live, STOP and report what you did plus which jobs are running — do not enter a sleep/poll/tail loop.");
38
+ lines.push("FIRE AND CONTINUE: after launching, move to the next task immediately. Do NOT sleep, shell.jobs-poll, repeat shell.tail, or fs.read the job log to watch progress — this inbox delivers each completion to you automatically at the next safe model boundary.", "PARENT-DONE RULE: a parent task is done when its own non-Responder work is done; Responder-owned child subtasks advance from the real process lifecycle — never mark, block on, or wait for them.", "TASK SETTLEMENT: Responder-owned tasks reconcile automatically from the latest authoritative job result after analysis. Do not call task.update for that child.", "MANDATORY READ RECEIPT: after you have seen and analyzed a delivered completion and are satisfied that responder subtask is finished, call task.read with its exact notification id. Do not call task.read before analysis is complete. You may not give a final response while a delivered notification remains unread.", "ON COMPLETION (delivered here): extract ONLY the key result lines from the artifact with a filter — grep the matched status codes / hits / findings, or a bounded shell.tail byte-window — NEVER a full fs.read of a noisy scanner log. Analyze just those lines, task.add evidence-driven follow-ups, then call task.read when satisfied. Never launch a duplicate while a job is live.", "FINAL REPORT DEFERRAL: if the only remaining foreground task is report creation and Responder work is still running or awaiting analysis, leave the report open and STOP. Do not invent busywork or repeat completed work; the next completion resumes analysis automatically. If a completion reveals new surface, add and execute that work before returning to the report.", "FRAME COMMANDS TO PRESERVE THE KEY FIELDS: choose flags/output so the completed result still carries exactly what you need and little else — e.g. ffuf with -json (or a matcher on real codes, not a blanket -mc all), nmap -oX/-oG, grep -o for just the hits. Never run a command that discards the required signal.", "ONLY when every other non-report task is finished and nothing else remains may you call shell.jobs ONCE. If jobs are still live, STOP and report what you did plus which jobs are running — do not enter a sleep/poll/tail loop.");
39
39
  return lines.join("\n");
40
40
  }
41
41
  export function isResponderResultLedgerMessage(message) {
@@ -43,9 +43,9 @@ export function isResponderResultLedgerMessage(message) {
43
43
  message.content.startsWith(RESPONDER_RESULT_LEDGER_PREFIX));
44
44
  }
45
45
  export function responderResultLedgerEntry(notification) {
46
- const analyzedAt = notification.analyzedAt ?? new Date().toISOString();
46
+ const analyzedAt = notification.analyzedAt ?? notification.readAt ?? new Date().toISOString();
47
47
  return (`- notification=${notification.id} job=${notification.jobId}` +
48
- ` status=${notification.status} consumed=true analyzedAt=${analyzedAt}` +
48
+ ` status=${notification.status} consumed=true readAt=${notification.readAt ?? analyzedAt} analyzedAt=${analyzedAt}` +
49
49
  `${notification.taskId ? ` task=${notification.taskId}` : ""}` +
50
50
  `${notification.parentTaskId ? ` parent=${notification.parentTaskId}` : ""}` +
51
51
  ` artifact=${receiptPath(notification)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"responder-context.js","sourceRoot":"","sources":["../../src/agent/responder-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responder-context.js","sourceRoot":"","sources":["../../src/agent/responder-context.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import { join } from "node:path";
3
- import { streamWithProvider, completeWithProvider, isEmptyCompletionError } from "../llm/router.js";
3
+ import { streamWithProvider, completeWithProvider } from "../llm/router.js";
4
+ import { classifyStreamFailure, planStreamRecovery, recordRecoveryAttempt, createStreamRecoveryState, resetStreamRecoveryState, } from "./stream-recovery.js";
4
5
  import { resolveToolDialect } from "../llm/capabilities.js";
5
6
  import { syntheticToolCallId, isTextOnlyModel, fromWireName, } from "../llm/tool-protocol.js";
6
7
  import { sanitizeAssistantText } from "../ui/ansi-box.js";
@@ -99,8 +100,31 @@ export function shouldYieldForResponderBeforeReport(plan, runningJobs, notificat
99
100
  notifications.some((notification) => (!currentNotificationId || notification.id !== currentNotificationId) &&
100
101
  notification.responder &&
101
102
  !notification.archivedAt &&
103
+ !notification.readAt &&
102
104
  !notification.analyzedAt));
103
105
  }
106
+ /**
107
+ * Cancellable backoff. Resolves after `ms`, or rejects immediately if the
108
+ * signal aborts (double-Esc) so recovery waits never trap a cancelled turn.
109
+ */
110
+ function delay(ms, signal) {
111
+ if (ms <= 0)
112
+ return Promise.resolve();
113
+ if (signal?.aborted) {
114
+ return Promise.reject(signal.reason ?? new Error("Aborted"));
115
+ }
116
+ return new Promise((resolve, reject) => {
117
+ const onAbort = () => {
118
+ clearTimeout(timer);
119
+ reject(signal?.reason ?? new Error("Aborted"));
120
+ };
121
+ const timer = setTimeout(() => {
122
+ signal?.removeEventListener("abort", onAbort);
123
+ resolve();
124
+ }, ms);
125
+ signal?.addEventListener("abort", onAbort, { once: true });
126
+ });
127
+ }
104
128
  export async function runAgentTurn(prompt, options = {}) {
105
129
  const agentMode = options.mode === "plan" || options.mode === "agent" || options.mode === "ask"
106
130
  ? options.mode
@@ -616,6 +640,10 @@ export async function runAgentTurn(prompt, options = {}) {
616
640
  const responderWakeNotificationId = responderWakeTurn
617
641
  ? /^notification=(.+)$/m.exec(prompt)?.[1]?.trim()
618
642
  : undefined;
643
+ const unreadResponderNotificationIds = new Set();
644
+ if (responderWakeNotificationId) {
645
+ unreadResponderNotificationIds.add(responderWakeNotificationId);
646
+ }
619
647
  const refreshResponderInbox = () => {
620
648
  const running = jobManager
621
649
  .getRunningJobs(session.sessionId)
@@ -624,7 +652,8 @@ export async function runAgentTurn(prompt, options = {}) {
624
652
  const pending = jobManager
625
653
  .getPendingNotifications(session.sessionId)
626
654
  .filter((notification) => notification.responder &&
627
- Boolean(notification.deliveredAt) &&
655
+ unreadResponderNotificationIds.has(notification.id) &&
656
+ !notification.readAt &&
628
657
  !notification.analyzedAt &&
629
658
  !notification.archivedAt)
630
659
  .slice(0, 1);
@@ -635,10 +664,17 @@ export async function runAgentTurn(prompt, options = {}) {
635
664
  const delivery = leaseId
636
665
  ? jobManager.claimNextResponderNotification(session.sessionId, leaseId)
637
666
  : undefined;
638
- upsertResponderContextMessage(messages, responderContextMessage({
639
- running,
640
- pending: delivery ? [delivery] : [],
641
- }));
667
+ if (delivery)
668
+ unreadResponderNotificationIds.add(delivery.id);
669
+ const pending = jobManager
670
+ .getPendingNotifications(session.sessionId)
671
+ .filter((notification) => notification.responder &&
672
+ unreadResponderNotificationIds.has(notification.id) &&
673
+ !notification.readAt &&
674
+ !notification.analyzedAt &&
675
+ !notification.archivedAt)
676
+ .slice(0, 12);
677
+ upsertResponderContextMessage(messages, responderContextMessage({ running, pending }));
642
678
  return delivery;
643
679
  };
644
680
  /** Assigned after session flags exist — see below. */
@@ -683,6 +719,13 @@ export async function runAgentTurn(prompt, options = {}) {
683
719
  // to actually act instead of silently returning an empty answer.
684
720
  let emptyVisibleRetries = 0;
685
721
  let retryWithoutThinking = false;
722
+ // Robust stream-failure recovery. When a provider stream/complete fails we
723
+ // try working approaches (backoff, compaction, thinking-off, provider
724
+ // fallback) before surrendering the turn — see ./stream-recovery. Both are
725
+ // reset on any successful stream so each failure episode gets a fresh
726
+ // budget and we only give up in the worst case.
727
+ let allowModelFallback = false;
728
+ const recoveryState = createStreamRecoveryState();
686
729
  // Track tool calls truncated by the token limit so we can ask the model
687
730
  // to retry in smaller pieces instead of leaking broken JSON as an answer.
688
731
  let truncatedToolRetries = 0;
@@ -1037,7 +1080,51 @@ export async function runAgentTurn(prompt, options = {}) {
1037
1080
  if (call.name === "plan.create" ||
1038
1081
  call.name === "task.add" ||
1039
1082
  call.name === "task.move" ||
1083
+ call.name === "task.read" ||
1040
1084
  call.name === "task.update") {
1085
+ if (call.name === "task.read") {
1086
+ const notificationId = typeof call.args.notificationId === "string"
1087
+ ? call.args.notificationId.trim()
1088
+ : "";
1089
+ const notification = jobManager
1090
+ .getPendingNotifications(session.sessionId)
1091
+ .find((candidate) => candidate.id === notificationId);
1092
+ const visible = unreadResponderNotificationIds.has(notificationId);
1093
+ const marked = Boolean(notification &&
1094
+ visible &&
1095
+ jobManager.markRead(notificationId, session.sessionId));
1096
+ const output = marked
1097
+ ? `Responder notification ${notificationId} marked delivered and read after model analysis.`
1098
+ : !notificationId
1099
+ ? "task.read failed: notificationId is required."
1100
+ : !visible
1101
+ ? `task.read failed: notification ${notificationId} was not delivered to this model turn. Analyze a delivered result before marking it read.`
1102
+ : `task.read failed: notification ${notificationId} is unavailable, archived, or its read state could not be persisted.`;
1103
+ if (marked && notification) {
1104
+ upsertResponderResultLedger(messages, notification);
1105
+ unreadResponderNotificationIds.delete(notificationId);
1106
+ }
1107
+ if (!alreadyPrintedIds.has(toolEventId)) {
1108
+ const toolCallLine = chalk.cyan(` ▶ ${call.name}`) +
1109
+ chalk.gray(` ${formatToolArgs(call)}`);
1110
+ writeToolCall(toolEventId, call, styleToolChatter(call, toolCallLine) + "\n");
1111
+ alreadyPrintedIds.add(toolEventId);
1112
+ }
1113
+ const result = {
1114
+ ok: marked,
1115
+ output,
1116
+ ...(marked ? {} : { exitCode: 1 }),
1117
+ };
1118
+ loopGuard.recordAttempt(step, call.name, call.args, marked, 0);
1119
+ emitToolResult(toolEventId, result, output);
1120
+ writeToolOutput(toolEventId, marked ? "read\n" : "failed\n", marked ? chalk.green(" ✓\n") : chalk.red(" ✗\n"));
1121
+ return {
1122
+ ok: marked,
1123
+ call,
1124
+ result,
1125
+ contextOutput: output,
1126
+ };
1127
+ }
1041
1128
  // Evidence gate: refuse done until at least one successful work tool
1042
1129
  // ran under this task (model must see results and be satisfied).
1043
1130
  if (call.name === "task.update") {
@@ -2197,6 +2284,10 @@ export async function runAgentTurn(prompt, options = {}) {
2197
2284
  /** E4: consecutive free-tier stream failures this turn. */
2198
2285
  let freeTierConsecutiveFailures = 0;
2199
2286
  let freeTierLargeContextWarned = false;
2287
+ // Surface the free-tier "failed N times / switch provider" advisory at most
2288
+ // once per turn — the recovery planner already narrates each retry, so
2289
+ // repeating this on every failure just adds noise.
2290
+ let freeTierAdvisoryShown = false;
2200
2291
  const summarizeForCompaction = async (summaryPrompt) => {
2201
2292
  const response = await completeWithProvider({
2202
2293
  provider,
@@ -2465,7 +2556,7 @@ export async function runAgentTurn(prompt, options = {}) {
2465
2556
  completion = await streamWithProvider({
2466
2557
  provider,
2467
2558
  model,
2468
- allowModelFallback: false,
2559
+ allowModelFallback,
2469
2560
  messages,
2470
2561
  temperature: /minimax-m3/i.test(model) ? 1.0 : 0.2,
2471
2562
  maxTokens: stepMaxTokens,
@@ -2606,39 +2697,67 @@ export async function runAgentTurn(prompt, options = {}) {
2606
2697
  }
2607
2698
  });
2608
2699
  freeTierConsecutiveFailures = 0;
2609
- if (responderDelivery) {
2610
- upsertResponderResultLedger(messages, responderDelivery);
2611
- }
2700
+ // Stream succeeded → the failure episode is over. Reset the recovery
2701
+ // budget and the one-shot fallback flag so a later, unrelated failure
2702
+ // starts fresh (and we never give up while making progress).
2703
+ resetStreamRecoveryState(recoveryState);
2704
+ allowModelFallback = false;
2612
2705
  }
2613
2706
  catch (streamError) {
2707
+ // User cancelled (double-Esc) — never try to recover, just stop.
2708
+ if (options.signal?.aborted)
2709
+ throw streamError;
2614
2710
  // E4: track free-tier failures for advisory notices (never blocks).
2615
2711
  freeTierConsecutiveFailures += 1;
2616
- for (const notice of freeTierGuardNotices({
2617
- provider,
2618
- estimatedInputTokens: contextBreakdown.estimatedTotalTokens,
2619
- consecutiveFailures: freeTierConsecutiveFailures,
2620
- })) {
2621
- if (notice.includes("Large context"))
2622
- continue; // already shown above
2623
- writeNotice("warn", notice, chalk.yellow(` ⚠ ${notice}\n`));
2624
- }
2625
- // A fully empty model completion (no text, no tool calls) must not
2626
- // kill the turn. It shows up most after auto-compaction, when the
2627
- // tail ends on re-injected system context and the model has nothing
2628
- // to answer. Append a trailing user nudge (so the turn no longer
2629
- // ends on system messages) and retry, bounded like the
2630
- // successful-but-empty path below.
2631
- if (!options.signal?.aborted &&
2632
- isEmptyCompletionError(streamError) &&
2633
- emptyVisibleRetries < 3) {
2634
- emptyVisibleRetries += 1;
2635
- writeNotice("warn", "model streamed an empty response — nudging it to continue", chalk.yellow(" ⚠ model streamed an empty response — nudging it to continue\n"));
2636
- messages.push(recoveryUserMessage("Your previous response was empty. Continue the task now: emit your next tool call, " +
2637
- "or give your final answer if every required step is already complete and verified. " +
2638
- "Do not reply with an empty message."));
2639
- continue;
2712
+ if (!freeTierAdvisoryShown) {
2713
+ for (const notice of freeTierGuardNotices({
2714
+ provider,
2715
+ estimatedInputTokens: contextBreakdown.estimatedTotalTokens,
2716
+ consecutiveFailures: freeTierConsecutiveFailures,
2717
+ })) {
2718
+ if (notice.includes("Large context"))
2719
+ continue; // already shown above
2720
+ writeNotice("warn", notice, chalk.yellow(` ⚠ ${notice}\n`));
2721
+ freeTierAdvisoryShown = true;
2722
+ }
2640
2723
  }
2641
- throw streamError;
2724
+ // Robust recovery: a single flaky provider/model (empty admission,
2725
+ // connection glitch, capacity 5xx, rate limit, or an oversized
2726
+ // request) must not kill the turn. Classify the failure and take a
2727
+ // bounded, escalating recovery step — back off, compact, drop
2728
+ // thinking, or let the router fall back to another provider/model.
2729
+ // We only rethrow (stop the turn) in the worst case: every approach
2730
+ // for that failure class is exhausted or the total budget is spent.
2731
+ const failureKind = classifyStreamFailure(streamError);
2732
+ const plan = planStreamRecovery({
2733
+ kind: failureKind,
2734
+ state: recoveryState,
2735
+ });
2736
+ if (plan.action === "give-up") {
2737
+ throw streamError;
2738
+ }
2739
+ recordRecoveryAttempt(recoveryState, failureKind);
2740
+ if (plan.notice) {
2741
+ writeNotice("warn", plan.notice, chalk.yellow(` ⚠ ${plan.notice}\n`));
2742
+ }
2743
+ if (plan.disableThinking)
2744
+ retryWithoutThinking = true;
2745
+ if (plan.allowModelFallback)
2746
+ allowModelFallback = true;
2747
+ if (plan.forceCompact) {
2748
+ await maybeAutoCompact(`stream-recovery:${failureKind}`, true);
2749
+ }
2750
+ if (plan.nudge) {
2751
+ messages.push(recoveryUserMessage(plan.nudge));
2752
+ }
2753
+ if (plan.delayMs > 0) {
2754
+ emit({
2755
+ type: "status",
2756
+ text: `retrying in ${Math.ceil(plan.delayMs / 1000)}s (${failureKind})`,
2757
+ });
2758
+ await delay(plan.delayMs, options.signal);
2759
+ }
2760
+ continue;
2642
2761
  }
2643
2762
  }
2644
2763
  finally {
@@ -3046,6 +3165,13 @@ export async function runAgentTurn(prompt, options = {}) {
3046
3165
  // Exhausted retries — fall through to the normal path.
3047
3166
  }
3048
3167
  const cleaned = stripSentinelTokens(assistantText.visible);
3168
+ if (unreadResponderNotificationIds.size > 0) {
3169
+ const unread = [...unreadResponderNotificationIds];
3170
+ pushAssistantHistory(assistantText.visible);
3171
+ messages.push(recoveryUserMessage(`You have ${unread.length} delivered Responder result(s) that remain unread: ${unread.join(", ")}. ` +
3172
+ "If analysis is incomplete, call the necessary bounded evidence tool now. If you have seen and analyzed each result and are satisfied its responder subtask is finished, you MUST call task.read for each exact notificationId before giving a final response. Do not merely say it is read."));
3173
+ continue;
3174
+ }
3049
3175
  const narratedAction = looksLikeActionNarration(cleaned);
3050
3176
  const narratedWebAction = looksLikeWebActionNarration(cleaned);
3051
3177
  const reconciledPlanAtCompletion = await reconcileOpenTaskBeforeFinalizing();