@osovv/vv-opencode 1.4.2 → 1.4.3-rc.1

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 (57) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +20 -6
  3. package/dist/lib/orchestration.js +12 -3
  4. package/dist/lib/orchestration.js.map +1 -1
  5. package/dist/lib/spec-lint.d.ts +2 -64
  6. package/dist/lib/spec-lint.js +47 -45
  7. package/dist/lib/spec-lint.js.map +1 -1
  8. package/dist/lib/workflow-contract.d.ts +277 -0
  9. package/dist/lib/workflow-contract.js +636 -0
  10. package/dist/lib/workflow-contract.js.map +1 -0
  11. package/dist/plugins/system-context-injection/index.js +15 -7
  12. package/dist/plugins/system-context-injection/index.js.map +1 -1
  13. package/dist/plugins/workflow/authority.d.ts +99 -0
  14. package/dist/plugins/workflow/authority.js +435 -0
  15. package/dist/plugins/workflow/authority.js.map +1 -0
  16. package/dist/plugins/workflow/checkpoint-io.d.ts +10 -1
  17. package/dist/plugins/workflow/checkpoint-io.js +22 -3
  18. package/dist/plugins/workflow/checkpoint-io.js.map +1 -1
  19. package/dist/plugins/workflow/checkpoints.d.ts +58 -1
  20. package/dist/plugins/workflow/checkpoints.js +362 -34
  21. package/dist/plugins/workflow/checkpoints.js.map +1 -1
  22. package/dist/plugins/workflow/delegated.d.ts +150 -2
  23. package/dist/plugins/workflow/delegated.js +551 -15
  24. package/dist/plugins/workflow/delegated.js.map +1 -1
  25. package/dist/plugins/workflow/execution.d.ts +361 -0
  26. package/dist/plugins/workflow/execution.js +1807 -0
  27. package/dist/plugins/workflow/execution.js.map +1 -0
  28. package/dist/plugins/workflow/index.js +539 -80
  29. package/dist/plugins/workflow/index.js.map +1 -1
  30. package/dist/plugins/workflow/persistence.d.ts +18 -4
  31. package/dist/plugins/workflow/persistence.js +439 -42
  32. package/dist/plugins/workflow/persistence.js.map +1 -1
  33. package/dist/plugins/workflow/repair.d.ts +2 -0
  34. package/dist/plugins/workflow/repair.js +16 -8
  35. package/dist/plugins/workflow/repair.js.map +1 -1
  36. package/dist/plugins/workflow/snapshots.js +3 -3
  37. package/dist/plugins/workflow/snapshots.js.map +1 -1
  38. package/dist/plugins/workflow/state.d.ts +13 -0
  39. package/dist/plugins/workflow/state.js +37 -7
  40. package/dist/plugins/workflow/state.js.map +1 -1
  41. package/dist/plugins/workflow/system-instruction.md +15 -1
  42. package/dist/plugins/workflow/tooling.d.ts +81 -6
  43. package/dist/plugins/workflow/tooling.js +956 -23
  44. package/dist/plugins/workflow/tooling.js.map +1 -1
  45. package/dist/plugins/workflow/transactions.d.ts +54 -0
  46. package/dist/plugins/workflow/transactions.js +147 -0
  47. package/dist/plugins/workflow/transactions.js.map +1 -0
  48. package/package.json +1 -1
  49. package/schemas/vvoc/v3.json +1 -1
  50. package/templates/agents/vv-code-reviewer.md +1 -0
  51. package/templates/agents/vv-controller.md +26 -13
  52. package/templates/agents/vv-implementer.md +1 -0
  53. package/templates/agents/vv-spec-reviewer.md +1 -0
  54. package/templates/skills/vv-execute/SKILL.md +6 -5
  55. package/templates/skills/vv-plan/SKILL.md +1 -1
  56. package/templates/skills/vv-review/SKILL.md +1 -0
  57. package/templates/skills/vv-spec/SKILL.md +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/plugins/workflow/tooling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/plugins/workflow/tooling.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iBAAiB;AACjB,wBAAwB;AACxB,0IAA0I;AAC1I,usBAAusB;AACvsB,gQAAgQ;AAChQ,2IAA2I;AAC3I,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,gFAAgF;AAChF,2GAA2G;AAC3G,sGAAsG;AACtG,6IAA6I;AAC7I,+JAA+J;AAC/J,yGAAyG;AACzG,oJAAoJ;AACpJ,+MAA+M;AAC/M,uGAAuG;AACvG,uDAAuD;AACvD,0DAA0D;AAC1D,uEAAuE;AACvE,8DAA8D;AAC9D,mHAAmH;AACnH,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,0SAA0S;AAC1S,qBAAqB;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,GAOb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mCAAmC,EACnC,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAE3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,kCAAkC,EAClC,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AA0IxB,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,WAAW,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oCAAoC;AACpC,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,oEAAoE;AACpE,SAAS,qBAAqB,CAC5B,IAAmB;IAEnB,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACzD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,gGAAgG;SACnG,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACzF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC;IACtF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE;YACR,MAAM;YACN,KAAK;YACL,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;YAC9C,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACvD,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YAC3C,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,iBAAiB,EAAE,CAAC,GAAI,SAAgC,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY;IAC5C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,IAAI,SAAS,CAAC,IAAI,KAAK,qBAAqB;QAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IACrF,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,qEAAqE;IACrE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAY;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAsB;IAEtB,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AACD,kCAAkC;AAElC,SAAS,sBAAsB,CAC7B,IAAmB,EACnB,SAAiB;IAIjB,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,wDAAwD;SAClE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,uEAAuE;SACjF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,eAAe;gBAC1B,OAAO,EACL,oFAAoF;aACvF,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,eAAe;gBAC1B,OAAO,EACL,2FAA2F;aAC9F,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,mEAAmE;aAC7E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,SAAS;gBACT,GAAG;gBACH,KAAK;gBACL,IAAI,EAAE,WAAW;gBACjB,iBAAiB,EAAE,EAAE;gBACrB,UAAU;gBACV,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,eAAe;YAC1B,OAAO,EACL,kGAAkG;SACrG,CAAC;IACJ,CAAC;IACD,IACE,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,IAAI,CAAC,SAAS,KAAK,SAAS;QAC5B,IAAI,CAAC,UAAU,KAAK,SAAS,EAC7B,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,sFAAsF,IAAI,CAAC,IAAI,EAAE;SAC3G,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,SAAS;YACT,GAAG;YACH,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,sBAAsB,MAAM,CAAC,UAAU,EAAE;QACjD,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,SAAS;YAClB,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;oBACvC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS;wBAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE;wBACpF,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;oBAC1C,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAC7C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,CAC5C;oBACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;oBAC5C,QAAQ,EAAE,0BAA0B,CAAC,MAAM,CAAC,KAAK,SAAS;oBAC1D,eAAe,EAAE,0BAA0B,CAAC,MAAM,CAAC,EAAE,OAAO;oBAC5D,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM;oBAClD,GAAG,iBAAiB,CAAC,MAAM,CAAC;iBAC7B;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,aAAa,EAAE,QAAQ,CAAC,cAAc;QACtC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,oBAAoB,EAAE,QAAQ,CAAC,sBAAsB;QACrD,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,sIAAsI;AACtI,gEAAgE;AAChE,wFAAwF;AACxF,8EAA8E;AAC9E,kDAAkD;AAClD,uCAAuC;AACvC,MAAM,UAAU,sBAAsB,CACpC,KAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,6FAA6F;QAC/F,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;YACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;YACpC,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,2DAA2D;iBACrE,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,aAAa,IAAI,KAAK,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO;wBACL,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,kBAAkB,SAAS,CAAC,OAAO,EAAE;qBAC/C,CAAC;gBACJ,CAAC;gBAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,UAAU,GACd,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ;wBACvD,CAAC,CAAE,YAAwC;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACnE,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACxD,MAAM,IAAI,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAClE,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrE,OAAO;4BACL,IAAI,EAAE,gBAAgB;4BACtB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,eAAe;4BAC1B,OAAO,EACL,wGAAwG;yBAC3G,CAAC;oBACJ,CAAC;oBACD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE;wBAChD,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,aAAa;wBACb,YAAY;wBACZ,MAAM;wBACN,IAAI;wBACJ,QAAQ;wBACR,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC5D,WAAW,EAAE,4BAA4B,CAAC,UAAU,CAAC,WAAW,CAAU;qBAC3E,CAAC,CAAC;oBACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;wBACnB,OAAO;4BACL,IAAI,EAAE,gBAAgB;4BACtB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;yBAC5B,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,UAAU;wBAClB,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;qBAClD,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC5C,OAAO;wBACL,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,gEAAgE;qBAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,EAAE;oBAChD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,QAAQ;oBACf,WAAW;oBACX,SAAS;oBACT,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC7D,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACL,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC5B,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;qBAC9C,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;oBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;iBACpC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO;aACf,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,qIAAqI;AACrI,gEAAgE;AAChE,wFAAwF;AACxF,yBAAyB;AACzB,0EAA0E;AAC1E,uCAAuC;AACvC,MAAM,UAAU,sBAAsB,CACpC,KAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,aAAa,IAAI,KAAK,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;YAClD,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACzC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;iBACpD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;iBAClD,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACzE,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa;gBACb,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBACrC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,mFAAmF;AACnF,gEAAgE;AAChE,yFAAyF;AACzF,+EAA+E;AAC/E,kDAAkD;AAClD,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CACrC,KAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,aAAa,IAAI,KAAK,CAAC;YACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,sDAAsD;iBAChE,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE,EAAE,IAAI;gBACR,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;gBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;gBAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;aACjC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,0JAA0J;AAC1J,6IAA6I;AAC7I,iIAAiI;AACjI,+EAA+E;AAC/E,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,OAAiC;IAEjC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,iPAAiP;QACnP,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa;YACxC,MAAM,CAAC,GAAG,aAAa,IAAI,KAAK,CAAC;YACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE/E,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvF,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,uEAAuE;iBACjF,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC5B,OAAO;wBACL,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EACL,gFAAgF;qBACnF,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,mCAAmC,CAAC,CAAC,EAAE;oBACtD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,UAAU;oBACV,KAAK;oBACL,YAAY;oBACZ,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACL,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,QAAQ;oBAChB,UAAU;oBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK;iBAC3D,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;wBACL,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EACL,+GAA+G;qBAClH,CAAC;gBACJ,CAAC;gBACD,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,IAAI,YAAgC,CAAC;gBACrC,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChD,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,OAAO;4BACL,IAAI,EAAE,kBAAkB;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,eAAe;4BAC1B,OAAO,EAAE,+DAA+D;yBACzE,CAAC;oBACJ,CAAC;oBACD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;oBAChE,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;oBAC1F,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC7B,OAAO;4BACL,IAAI,EAAE,kBAAkB;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,qBAAqB;4BAChC,OAAO,EAAE,8CAA8C,WAAW,QAAQ,YAAY,EAAE;yBACzF,CAAC;oBACJ,CAAC;oBACD,oEAAoE;oBACpE,oCAAoC;oBACpC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;wBAClF,OAAO;4BACL,IAAI,EAAE,kBAAkB;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,eAAe;4BAC1B,OAAO,EAAE,4BAA4B,UAAU,+BAA+B,YAAY,EAAE;yBAC7F,CAAC;oBACJ,CAAC;oBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;wBACnC,SAAS;wBACT,MAAM,EAAE,SAAS,CAAC,aAAa;wBAC/B,UAAU;wBACV,UAAU,EAAE,MAAM;wBAClB,QAAQ,EAAE,UAAU;qBACrB,CAAC,CAAC;oBACH,iEAAiE;oBACjE,8DAA8D;oBAC9D,+CAA+C;oBAC/C,oBAAoB,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,CAAC,EAAE;oBAClD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,UAAU;oBACV,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS;oBACT,gBAAgB;oBAChB,YAAY;oBACZ,UAAU;oBACV,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,aAAa,KAAK,SAAS;wBAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE;wBAClE,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO;wBACL,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBACrE,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;oBAChE,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;oBAC1F,MAAM,QAAQ,GAAG,SAAS;wBACxB,CAAC,CAAC,mBAAmB,CAAC;4BAClB,SAAS;4BACT,MAAM,EAAE,SAAS,EAAE,aAAa,IAAI,EAAE;4BACtC,UAAU;4BACV,UAAU,EAAE,MAAM;4BAClB,QAAQ,EAAE,UAAU;yBACrB,CAAC;wBACJ,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;wBAClB,OAAO;4BACL,IAAI,EAAE,kBAAkB;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,mBAAmB;4BAChD,OAAO,EACL,QAAQ,EAAE,OAAO,IAAI,6DAA6D;yBACrF,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;wBACtD,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACtB,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,OAAO;4BACL,IAAI,EAAE,kBAAkB;4BACxB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,SAAS;oBACjB,UAAU;oBACV,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;oBAC9C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK;oBAC7B,UAAU,EAAE,0BAA0B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU;iBACpE,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBAC5D,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6EAA6E;iBACvF,CAAC;YACJ,CAAC;YAED,MAAM,mBAAmB,GACvB,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,EAAE;gBACzC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ;gBACR,SAAS;gBACT,QAAQ;gBACR,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,QAAQ;gBAChB,UAAU;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAgCD,2CAA2C;AAC3C,iHAAiH;AACjH,uDAAuD;AACvD,2EAA2E;AAC3E,0GAA0G;AAC1G,4EAA4E;AAC5E,yCAAyC;AACzC,KAAK,UAAU,wBAAwB,CAAC,OAMvC;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACpF,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,qBAAqB;YAChC,OAAO,EAAE,gBAAgB,KAAK,EAAE;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,sCAAsC;SAChD,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvD,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,2DAA2D;iBACrE,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YACxF,CAAC;YACD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,EAAE;gBAChD,SAAS;gBACT,KAAK;gBACL,WAAW;gBACX,SAAS;gBACT,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,WAAW,EAAE,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAU;aACrE,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6BAA6B;iBACvC,CAAC;YACJ,CAAC;YACD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,EAAE;gBAClD,SAAS;gBACT,KAAK;gBACL,YAAY;gBACZ,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACxF,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,YAAY;gBACZ,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU;gBACxD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,iBAAiB,EAAE,OAAO,CAAC,SAAS;gBACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,0BAA0B;iBACpC,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzE,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,kCAAkC,CAAC,IAAI,EAAE;gBACxD,SAAS;gBACT,KAAK;gBACL,YAAY;gBACZ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY;gBACZ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM;aAC7C,CAAC;QACJ,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,kEAAkE;iBAC5E,CAAC;YACJ,CAAC;YACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,iBAAiB,EAAE,mBAAmB,KAAK,SAAS,CAAC;YACrE,wEAAwE;YACxE,iEAAiE;YACjE,IAAI,aAA+C,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,oEAAoE;qBAC9E,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;gBACzF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,qBAAqB;wBAChC,OAAO,EAAE,8CAA8C,WAAW,EAAE;qBACrE,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;oBACnC,SAAS;oBACT,MAAM,EAAE,SAAS,CAAC,aAAa;oBAC/B,UAAU;oBACV,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,YAAY;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrF,CAAC;gBACD,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACjC,CAAC;YACD,MAAM,SAAS,GAAG,+BAA+B,CAAC,IAAI,EAAE;gBACtD,SAAS;gBACT,KAAK;gBACL,YAAY;gBACZ,UAAU;gBACV,SAAS;gBACT,gBAAgB;gBAChB,YAAY;gBACZ,cAAc,EAAE,aAAa,KAAK,SAAS;aAC5C,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5F,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,IAAI,aAAa,EAAE,CAAC;gBACxD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE;oBAC1C,SAAS;oBACT,KAAK;oBACL,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,SAAS;gBACjB,YAAY;gBACZ,UAAU;gBACV,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM;aAC9C,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE;gBAC/C,SAAS;gBACT,KAAK;gBACL,SAAS,EAAE,SAAS,IAAI,yDAAyD;gBACjF,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5F,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC;aACjD,CAAC;QACJ,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAmC,EAAE,CACzC,KAAK,KAAK,eAAe;gBACzB,KAAK,KAAK,UAAU;gBACpB,KAAK,KAAK,gBAAgB;gBAC1B,KAAK,KAAK,cAAc,CAC3B,CAAC;YACF,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,gEAAgE;iBAC1E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC;YACvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,wDAAwD;iBAClE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,kBAAkB;oBAC7B,OAAO,EACL,kFAAkF;iBACrF,CAAC;YACJ,CAAC;YACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAC7C,CAAC;YACF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,iBAAiB,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACvD,qDAAqD;oBACrD,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,WAAW;wBACnB,WAAW;wBACX,MAAM,EAAE,IAAI;wBACZ,KAAK,EAAE,iBAAiB,CAAC,YAAY;wBACrC,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC,aAAa,CAAC;qBAClF,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;oBACtC,SAAS,EAAE,iBAAiB;oBAC5B,WAAW,EAAE,OAAO,SAAS,EAAE;oBAC/B,SAAS;oBACT,OAAO;oBACP,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrF,CAAC;gBACD,MAAM,OAAO,GAAG;oBACd,GAAG,iBAAiB;oBACpB,UAAU,EAAE,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC;iBAC9D,CAAC;gBACF,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5F,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;oBACxB,OAAO;wBACL,GAAG,IAAI;wBACP,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe,CAAC,SAAS;wBACpC,OAAO,EAAE,eAAe,CAAC,OAAO;qBACjC,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,WAAW;oBACnB,WAAW;oBACX,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;oBACrC,cAAc,EAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC;iBACxE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,qBAAqB,CAAC;gBACpC,WAAW;gBACX,KAAK;gBACL,SAAS;gBACT,OAAO;gBACP,KAAK,EAAE;oBACL,MAAM;oBACN,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;oBAC7D,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC3C,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAClD,CAAC,KAAK,EAAmC,EAAE,CACzC,KAAK,KAAK,eAAe;wBACzB,KAAK,KAAK,UAAU;wBACpB,KAAK,KAAK,gBAAgB;wBAC1B,KAAK,KAAK,cAAc,CAC3B;iBACF;gBACD,mBAAmB,EAAE,SAAS,CAAC,SAAS;gBACxC,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACnF,CAAC;YACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE;gBACvC,SAAS;gBACT,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACtF,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,WAAW;gBACnB,WAAW;gBACX,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;gBACxC,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;aAChE,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAuC,CAAC;YACrF,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5E,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EACL,sGAAsG;iBACzG,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;gBACpC,SAAS;gBACT,UAAU;gBACV,KAAK;gBACL,YAAY;gBACZ,cAAc;gBACd,UAAU,EAAE,sBAAsB;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrF,CAAC;YACD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE;gBAC3C,SAAS;gBACT,KAAK;gBACL,QAAQ,EAAE,QAAQ,CAAC,KAAK;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACtF,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,iBAAiB;gBACzB,UAAU;gBACV,KAAK;gBACL,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;aACtC,CAAC;QACJ,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChC,OAAO;oBACL,GAAG,IAAI;oBACP,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,qEAAqE;iBAC/E,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,MAAM,OAAO,GACX,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC/C,CAAC,CAAC,sBAAsB,CAAC;oBACrB,SAAS;oBACT,YAAY;oBACZ,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS;iBAC1D,CAAC;gBACJ,CAAC,CAAC,sBAAsB,CAAC;oBACrB,SAAS;oBACT,YAAY;oBACZ,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU;oBAC1D,cAAc,EAAE,SAAS,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAmC,EAAE,CACzC,KAAK,KAAK,eAAe;wBACzB,KAAK,KAAK,UAAU;wBACpB,KAAK,KAAK,gBAAgB;wBAC1B,KAAK,KAAK,cAAc,CAC3B;iBACF,CAAC,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACnF,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,GAAG,SAAS;gBACZ,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC;aACvD,CAAC;YACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACtF,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,kBAAkB;gBAC1B,WAAW;gBACX,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,cAAc,EAAE,qBAAqB,CACnC,OAAO,EACP,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,IAAI,EAAE,CAChD;gBACD,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED;YACE,OAAO;gBACL,GAAG,IAAI;gBACP,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,yCAAyC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;aACxE,CAAC;IACN,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,yJAAyJ;AACzJ,6IAA6I;AAC7I,qIAAqI;AACrI,8FAA8F;AAC9F,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,OAAiC;IAEjC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,6NAA6N;QAC/N,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa;YACxC,MAAM,CAAC,GAAG,aAAa,IAAI,KAAK,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,KAAK,UAAU,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;gBACtD,MAAM,aAAa,GAAG,oBAAoB,CACvC,OAAwC,CAAC,aAAa,CACxD,CAAC;gBACF,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChC,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,4EAA4E;qBACtF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAI,OAAwC,CAAC,QAAQ,CAAC;gBAChE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,4EAA4E;qBACtF,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACnD,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;oBAC1B,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,kBAAkB;wBAC7B,OAAO,EAAE,MAAM,CAAC,SAAS;qBAC1B,CAAC;gBACJ,CAAC;gBACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE;oBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;qBAC5B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;oBAChC,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI;iBAC7C,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACpD,mEAAmE;gBACnE,uDAAuD;gBACvD,MAAM,eAAe,GACnB,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,kBAAkB,CAAC;gBAC1F,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,eAAe,CAAC,EAAE,CAAC;oBACjF,OAAO,wBAAwB,CAAC;wBAC9B,IAAI;wBACJ,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,YAAY;wBACnB,IAAI;wBACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5B,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,KAAK;oBACT,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,gEAAgE;iBAC1E,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,CAAC,EAAE;oBAChD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK;oBACL,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;oBAChB,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,OAAO;oBACf,KAAK;oBACL,YAAY;oBACZ,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;iBAC7C,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,CAAC,EAAE;oBAClD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK;oBACL,YAAY;oBACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,QAAQ;oBAChB,KAAK;oBACL,YAAY;oBACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,eAAe;wBAC1B,OAAO,EACL,+GAA+G;qBAClH,CAAC;gBACJ,CAAC;gBACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;oBAC1F,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC7B,OAAO;4BACL,IAAI,EAAE,iBAAiB;4BACvB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,qBAAqB;4BAChC,OAAO,EAAE,8CAA8C,WAAW,QAAQ,KAAK,EAAE;yBAClF,CAAC;oBACJ,CAAC;oBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;wBACnC,SAAS;wBACT,MAAM,EAAE,SAAS,CAAC,aAAa;wBAC/B,UAAU;wBACV,UAAU,EAAE,YAAY;wBACxB,QAAQ,EAAE,YAAY;qBACvB,CAAC,CAAC;oBACH,iEAAiE;oBACjE,iEAAiE;oBACjE,oBAAoB,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,CAAC,EAAE;oBACpD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK;oBACL,YAAY;oBACZ,SAAS;oBACT,gBAAgB;oBAChB,YAAY;oBACZ,UAAU;oBACV,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,aAAa,KAAK,SAAS;wBAC7B,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE;wBAClE,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO;wBACL,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,IAAI,WAAW,EAAE,CAAC;oBACtD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;oBAC1F,MAAM,QAAQ,GAAG,SAAS;wBACxB,CAAC,CAAC,mBAAmB,CAAC;4BAClB,SAAS;4BACT,MAAM,EAAE,SAAS,EAAE,aAAa,IAAI,EAAE;4BACtC,UAAU;4BACV,UAAU,EAAE,YAAY;4BACxB,QAAQ,EAAE,YAAY;yBACvB,CAAC;wBACJ,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;wBAClB,OAAO;4BACL,IAAI,EAAE,iBAAiB;4BACvB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,mBAAmB;4BAChD,OAAO,EACL,QAAQ,EAAE,OAAO,IAAI,yDAAyD;yBACjF,CAAC;oBACJ,CAAC;oBACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE;wBACtD,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK;wBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACtB,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,OAAO;4BACL,IAAI,EAAE,iBAAiB;4BACvB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,EAAE,EAAE,KAAK;4BACT,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,SAAS;oBACjB,KAAK;oBACL,YAAY;oBACZ,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;oBAC5C,GAAG,CAAC,SAAS,CAAC,wBAAwB,KAAK,SAAS;wBAClD,CAAC,CAAC,EAAE,wBAAwB,EAAE,SAAS,CAAC,wBAAwB,EAAE;wBAClE,CAAC,CAAC,EAAE,CAAC;oBACP,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM;oBAC7C,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW;iBAC9C,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,mEAAmE;aAC7E,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { type WorkItemStoreData } from "./state.js";
2
+ export type WorkflowPersistResult = {
3
+ ok: true;
4
+ } | {
5
+ ok: false;
6
+ error: string;
7
+ };
8
+ /** Persistence callback used by the transaction boundary. */
9
+ export type WorkflowPersist = (sessionId: string, data: WorkItemStoreData) => WorkflowPersistResult | Promise<WorkflowPersistResult>;
10
+ /** Staged result plus an optional synchronous publish step. */
11
+ export interface WorkflowMutation<T> {
12
+ result: T;
13
+ /**
14
+ * Optional synchronous publish applied to the live data after persistence
15
+ * succeeds. When omitted, the committed staged snapshot replaces live state.
16
+ */
17
+ commit?: (live: WorkItemStoreData) => void;
18
+ /**
19
+ * When true the staged mutation is discarded without persisting or
20
+ * publishing; used for validation failures so nothing reaches disk.
21
+ */
22
+ skipPersist?: boolean;
23
+ }
24
+ export type WorkflowTransactionResult<T> = {
25
+ ok: true;
26
+ result: T;
27
+ } | {
28
+ ok: false;
29
+ error: string;
30
+ };
31
+ /** Deep clone of workflow store data so an operation cannot mutate live state before commit. */
32
+ export declare function cloneWorkItemStoreData(data: WorkItemStoreData): WorkItemStoreData;
33
+ /** Synchronously replace live store data with committed staged data in place. */
34
+ export declare function publishWorkItemStoreData(live: WorkItemStoreData, staged: WorkItemStoreData): void;
35
+ /** Per-session serial queue for mutating workflow operations. */
36
+ export declare class WorkflowTransactionQueue {
37
+ private readonly tails;
38
+ /** Run one task after every previously queued task for the same session completed. */
39
+ run<T>(sessionId: string, task: () => Promise<T>): Promise<T>;
40
+ }
41
+ /**
42
+ * Deterministic content fingerprint over the whole workflow store (Maps are
43
+ * serialized with sorted keys). Used to detect any concurrent live mutation —
44
+ * including reducers that bypass the store wrappers — so a staged transaction
45
+ * never publishes a stale clone over newer committed state.
46
+ */
47
+ export declare function fingerprintWorkItemStoreData(data: WorkItemStoreData): string;
48
+ export declare function runWorkflowTransaction<T>(options: {
49
+ queue: WorkflowTransactionQueue;
50
+ sessionId: string;
51
+ getData: () => WorkItemStoreData;
52
+ persist?: WorkflowPersist;
53
+ operation: (staged: WorkItemStoreData) => WorkflowMutation<T> | Promise<WorkflowMutation<T>>;
54
+ }): Promise<WorkflowTransactionResult<T>>;
@@ -0,0 +1,147 @@
1
+ // FILE: src/plugins/workflow/transactions.ts
2
+ // VERSION: 1.0.0
3
+ // START_MODULE_CONTRACT
4
+ // PURPOSE: Serialize workflow mutations per session and commit them atomically: clone the latest committed store inside the serialization boundary, stage every change on the clone, persist atomically, and only then synchronously publish the new live state.
5
+ // SCOPE: Per-session promise queue, deep store-data cloning, injected/atomic persistence, synchronous publish of committed state, and fail-closed behavior when persistence fails. No work scheduling, task dispatch, or authority semantics of its own.
6
+ // DEPENDS: [src/plugins/workflow/state.ts, src/plugins/workflow/checkpoints.ts, src/plugins/workflow/execution.ts, src/plugins/workflow/persistence.ts]
7
+ // LINKS: [M-PLUGIN-WORKFLOW, M-WORKFLOW-STATE, M-WORKFLOW-PERSISTENCE, M-WORKFLOW-EXECUTION, V-M-PLUGIN-WORKFLOW]
8
+ // ROLE: RUNTIME
9
+ // MAP_MODE: EXPORTS
10
+ // END_MODULE_CONTRACT
11
+ //
12
+ // START_MODULE_MAP
13
+ // WorkflowPersistResult - Persistence outcome surfaced by an injected or default commit path.
14
+ // WorkflowPersist - Persistence callback used by the transaction boundary.
15
+ // WorkflowMutation - Staged result plus an optional synchronous publish step.
16
+ // WorkflowTransactionResult - Committed result or a fail-closed persistence error.
17
+ // WorkflowTransactionQueue - Per-session serial queue for mutating workflow operations.
18
+ // cloneWorkItemStoreData - Deep clone of workflow store data for staging.
19
+ // fingerprintWorkItemStoreData - Deterministic content fingerprint used to detect concurrent live mutations.
20
+ // publishWorkItemStoreData - Synchronously replace live store data with committed staged data.
21
+ // runWorkflowTransaction - Serialize, stage, persist, and publish one mutation per session.
22
+ // END_MODULE_MAP
23
+ //
24
+ // START_CHANGE_SUMMARY
25
+ // LAST_CHANGE: [C-WORKFLOW-PLAN-INDEPENDENCE - Initial atomic per-session transaction boundary.]
26
+ // END_CHANGE_SUMMARY
27
+ import { createHash } from "node:crypto";
28
+ import { cloneDelegatedPlanRun } from "./checkpoints.js";
29
+ import { cloneWorkflowExecution } from "./execution.js";
30
+ import { snapshotWorkflowStateChecked } from "./persistence.js";
31
+ import { cloneRecord } from "./state.js";
32
+ /** Deep clone of workflow store data so an operation cannot mutate live state before commit. */
33
+ export function cloneWorkItemStoreData(data) {
34
+ return {
35
+ nextId: data.nextId,
36
+ records: new Map([...data.records].map(([key, record]) => [key, cloneRecord(record)])),
37
+ keyIndexBySession: new Map([...data.keyIndexBySession].map(([sessionId, index]) => [sessionId, new Map(index)])),
38
+ planRuns: new Map([...data.planRuns].map(([runId, run]) => [runId, cloneDelegatedPlanRun(run)])),
39
+ executions: new Map([...data.executions].map(([runId, execution]) => [runId, cloneWorkflowExecution(execution)])),
40
+ messageClaims: new Map([...data.messageClaims].map(([id, claim]) => [id, { ...claim }])),
41
+ };
42
+ }
43
+ /** Synchronously replace live store data with committed staged data in place. */
44
+ export function publishWorkItemStoreData(live, staged) {
45
+ live.nextId = staged.nextId;
46
+ live.records.clear();
47
+ for (const [key, record] of staged.records)
48
+ live.records.set(key, record);
49
+ live.keyIndexBySession.clear();
50
+ for (const [sessionId, index] of staged.keyIndexBySession) {
51
+ live.keyIndexBySession.set(sessionId, new Map(index));
52
+ }
53
+ live.planRuns.clear();
54
+ for (const [runId, run] of staged.planRuns)
55
+ live.planRuns.set(runId, run);
56
+ live.executions.clear();
57
+ for (const [runId, execution] of staged.executions)
58
+ live.executions.set(runId, execution);
59
+ live.messageClaims.clear();
60
+ for (const [id, claim] of staged.messageClaims)
61
+ live.messageClaims.set(id, claim);
62
+ }
63
+ /** Per-session serial queue for mutating workflow operations. */
64
+ export class WorkflowTransactionQueue {
65
+ tails = new Map();
66
+ /** Run one task after every previously queued task for the same session completed. */
67
+ run(sessionId, task) {
68
+ const tail = this.tails.get(sessionId) ?? Promise.resolve();
69
+ const next = tail.then(task, task);
70
+ this.tails.set(sessionId, next.catch(() => undefined));
71
+ return next;
72
+ }
73
+ }
74
+ // START_BLOCK_STORE_FINGERPRINT
75
+ /**
76
+ * Deterministic content fingerprint over the whole workflow store (Maps are
77
+ * serialized with sorted keys). Used to detect any concurrent live mutation —
78
+ * including reducers that bypass the store wrappers — so a staged transaction
79
+ * never publishes a stale clone over newer committed state.
80
+ */
81
+ export function fingerprintWorkItemStoreData(data) {
82
+ const normalized = {
83
+ nextId: data.nextId,
84
+ records: [...data.records.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)),
85
+ keyIndexBySession: [...data.keyIndexBySession.entries()]
86
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
87
+ .map(([sessionId, index]) => [
88
+ sessionId,
89
+ [...index.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)),
90
+ ]),
91
+ planRuns: [...data.planRuns.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)),
92
+ executions: [...data.executions.entries()].sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)),
93
+ messageClaims: [...data.messageClaims.entries()].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0),
94
+ };
95
+ const serialized = JSON.stringify(normalized, (_key, value) => {
96
+ if (value instanceof Map) {
97
+ return Object.fromEntries([...value.entries()].sort(([a], [b]) => String(a) < String(b) ? -1 : String(a) > String(b) ? 1 : 0));
98
+ }
99
+ return value;
100
+ });
101
+ return createHash("sha256").update(serialized).digest("hex");
102
+ }
103
+ // END_BLOCK_STORE_FINGERPRINT
104
+ // START_CONTRACT: runWorkflowTransaction
105
+ // PURPOSE: Serialize, stage, persist, and synchronously publish one workflow mutation.
106
+ // INPUTS: { options: queue, sessionId, getData, persist?, operation }
107
+ // OUTPUTS: { Promise<WorkflowTransactionResult<T>> - committed result or a fail-closed persistence error }
108
+ // SIDE_EFFECTS: [Persists the staged snapshot; publishes live state only after persistence succeeds]
109
+ // LINKS: [M-PLUGIN-WORKFLOW, M-WORKFLOW-PERSISTENCE]
110
+ // END_CONTRACT: runWorkflowTransaction
111
+ export async function runWorkflowTransaction(options) {
112
+ const { queue, sessionId, getData } = options;
113
+ return queue.run(sessionId, async () => {
114
+ const liveBefore = fingerprintWorkItemStoreData(getData());
115
+ const staged = cloneWorkItemStoreData(getData());
116
+ const mutation = await options.operation(staged);
117
+ if (mutation.skipPersist === true) {
118
+ // Validation failed: persist nothing and publish nothing.
119
+ return { ok: true, result: mutation.result };
120
+ }
121
+ if (fingerprintWorkItemStoreData(getData()) !== liveBefore) {
122
+ // A concurrent mutation (including reducers that bypass the store
123
+ // wrappers) advanced live state while this operation was staged. Refuse
124
+ // to persist or publish the stale clone; the caller can retry.
125
+ return {
126
+ ok: false,
127
+ error: "concurrent workflow mutation detected; retry the operation",
128
+ };
129
+ }
130
+ const persist = options.persist ?? snapshotWorkflowStateChecked;
131
+ const persisted = await persist(sessionId, staged);
132
+ if (!persisted.ok) {
133
+ // Fail closed: the previous committed state stays observable and no
134
+ // staged acceptance, obligation, or authority leaks into live state.
135
+ return { ok: false, error: persisted.error };
136
+ }
137
+ const live = getData();
138
+ if (mutation.commit) {
139
+ mutation.commit(live);
140
+ }
141
+ else {
142
+ publishWorkItemStoreData(live, staged);
143
+ }
144
+ return { ok: true, result: mutation.result };
145
+ });
146
+ }
147
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/plugins/workflow/transactions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "1.4.2",
3
+ "version": "1.4.3-rc.1",
4
4
  "description": "An opinionated agentic development layer for OpenCode — spec-first when it matters, review-driven execution, portable model roles, safer tools, and long-run safety.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.4.2/schemas/vvoc/v3.json",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.4.3-rc.1/schemas/vvoc/v3.json",
4
4
  "title": "vvoc config",
5
5
  "description": "Canonical vvoc configuration document.",
6
6
  "type": "object",
@@ -25,6 +25,7 @@ Rules:
25
25
  - Reconstruct the effective task model before reviewing: goal, route when stated, constraints, non-goals, assumptions, verification, and project-owned overlays when present.
26
26
  - Reconstruct the expected properties independently from the request, contracts, and surrounding code before judging the diff; do not adopt the author's framing or the author's tests as the definition of correct.
27
27
  - Examine the consumers the change touches within the reviewed scope: callers, variants, and data flows that rely on the changed behavior.
28
+ - Distinguish an initial review from a scoped re-review. When the request is a re-review after a fix, first verify each prior finding against the fix, then check the material effects the fix itself could have caused — including directly affected consumers where necessary — instead of re-reviewing the whole change from scratch. Cosmetic preferences and unrelated optional improvements observed during a re-review do not renew the correction loop; concrete blocking defects and material verification gaps are never downgraded merely to finish.
28
29
  - Judge verdicts by evidence, not by absence: PASS requires no blocking findings and sufficient evidence for the material correctness claims in the reviewed scope; FAIL covers a concrete defect or a material verification gap; NEEDS_CONTEXT covers missing context that prevents safe judgment.
29
30
  - A verification finding identifies the property at stake, why it is relevant, the evidence limitation, and the smallest useful check that would close it. Keep material verification gaps specific and actionable — do not demand unspecified missing tests or require a duplicate full-suite run to state one.
30
31
  - When the request pins a review snapshot or covered scope, review exactly that snapshot. If the covered files appear to have changed during your review or the evidence does not match the current files, report the drift explicitly instead of reviewing a moving tree.
@@ -44,6 +44,8 @@ trigger. Keep it current and surface it when blocked, rerouting, or handing off.
44
44
  - Keep changes within the requested and approved scope.
45
45
  - Preserve user-owned configuration and fail closed rather than guessing when authoritative sources
46
46
  conflict.
47
+ - Resolve repository-answerable technical questions yourself from the established code, contracts,
48
+ and tests; only a genuine business-semantics fork needs a new user decision.
47
49
  </evidence_and_scope>
48
50
 
49
51
  <correctness_leadership>
@@ -87,19 +89,29 @@ unclear, scope crosses an unexpected boundary, or requirement ambiguity blocks s
87
89
  its workflow in this base prompt.
88
90
  </skill_trigger_rule>
89
91
 
90
- <large_feature_gate>
91
- - Broad features and architectural changes require an approved specification before planning.
92
- - Implementation requires an approved plan derived from the approved specification.
93
- - Ask for explicit approval at the lifecycle points required by the owning specification and plan
94
- workflows.
95
- - Do not implement source behavior while a required approval or authoritative artifact is missing.
96
- </large_feature_gate>
92
+ <source_and_authority>
93
+ - Work ownership, requirement source, and delegated authority are distinct. Choosing the native
94
+ `.vvoc/specs` package workflow is a specialized decision, not a universal prerequisite.
95
+ - When the selected source is a native package, honor its own lifecycle approvals. When the source
96
+ is a provided plan or the current conversation, do not invent a native package or a second
97
+ lifecycle for it.
98
+ - Record explicitly assigned review obligations and enforce them mechanically; do not install a
99
+ universal final-review pair that the source, user, or an explicit controller decision did not ask
100
+ for.
101
+ - Honor explicitly delegated autonomy for reasonable reversible decisions within the recorded
102
+ scope, while respecting user-reserved stops and host permissions.
103
+ </source_and_authority>
97
104
 
98
- <hard_stop_handoff>
99
- If work stops because of a blocker, missing context, drift, or conflicting authority, leave a compact
100
- handoff containing the goal, constraints, progress, key decisions, critical evidence, blocker, and
101
- next safe step. Make it sufficient to resume without rediscovering settled facts.
102
- </hard_stop_handoff>
105
+ <stop_and_recovery>
106
+ Distinguish a worker stop, a suspended loop, controller diagnosis, authorized recovery, and actual
107
+ session completion. A worker stop or an exhausted bounded loop returns control to you for
108
+ diagnosis: it suspends that work, it does not end the session. Diagnose the stop yourself, then use
109
+ the session policy's supported recovery operation for that target — never redispatch the unchanged
110
+ stopped item and never grant yourself unlimited retries. Authorized recovery resumes or grants one
111
+ bounded unit; it is not acceptance, not a passing review, and not completion. A handoff file is
112
+ written only when the user asks for a transfer or the session genuinely ends — not for every failed
113
+ check. If work is truly blocked pending a user decision, say so and stop.
114
+ </stop_and_recovery>
103
115
 
104
116
  <plan_artifacts>
105
117
  - vvoc specification packages live at
@@ -112,7 +124,8 @@ next safe step. Make it sufficient to resume without rediscovering settled facts
112
124
  <final_response_format>
113
125
  - Start with the outcome.
114
126
  - For review, analysis, planning, or investigation, start with findings or the plan.
115
- - Before claiming completion, read the goal back line by line and mark each line met / partly / not met, then name the edge you did not check.
127
+ - Before claiming completion, check the goal against the result line by line, name any part that is
128
+ not met, and name the edge you did not check.
116
129
  - Mention changed files and verification only when implementation occurred.
117
130
  - Mention assumptions, skipped checks, blockers, or residual risks when they materially affect the
118
131
  outcome.
@@ -12,6 +12,7 @@ Worker protocol:
12
12
  - Keep writes within the assigned scope. Finish only the work you were given; when the packet declares a write scope, edit only those files unless the controller explicitly broadens it. Investigating directly affected consumers — callers, variants, and contracts your change touches — is part of the task, not a scope violation: read them so your verification covers the actual impact.
13
13
  - When dispatched as a delegated worker, complete your own local edit, test, and fix cycle before reporting: run the packet's verification commands yourself and fix your own lint, type, and test failures first. Do not report a partial cycle for the controller to repair.
14
14
  - Returning DONE reports a completed attempt. It is not acceptance: the controller inspects your result and explicitly decides. Do not claim your work is accepted, approved, or closing.
15
+ - Returning BLOCKED or NEEDS_CONTEXT stops this task and returns control to the controller for bounded diagnosis and a supported recovery decision. A stop is about this assignment, not the end of the session: report the exact blocker or missing context truthfully with the smallest decision or input that would unblock it, and let the controller decide the route.
15
16
  - Return the minimum useful result: what changed, what was verified (with the exact commands and their fresh results), material assumptions, and concerns. Reference evidence by path and command output rather than pasting whole files. Omit filler, repeated tool transcripts, and broad future plans.
16
17
  - Prefer updating existing required artifacts over creating new files.
17
18
  - Create documentation or Markdown files only when explicitly requested or required by repository rules or contracts.
@@ -33,6 +33,7 @@ Method:
33
33
 
34
34
  - Reconstruct the compact task model before judging compliance.
35
35
  - Compare the request against the implementation line by line.
36
+ - Distinguish an initial review from a scoped re-review. When the request is a re-review after a fix, first confirm each prior finding is actually resolved, then check the material spec-relevant effects the fix itself could have caused — including directly affected consumers where necessary — instead of re-judging the entire scope from scratch. Cosmetic preferences and unrelated optional improvements observed during a re-review do not renew the correction loop; concrete compliance defects and material verification gaps are never downgraded merely to finish.
36
37
  - Verify claimed behavior in code and tests, not in prose.
37
38
  - Distinguish compliance from evidential support: compliance means the implementation matches the requested behavior; evidential support means the tests and verification evidence actually demonstrate the claimed behavior. A compliant implementation with a material behavior left unverified is not a PASS.
38
39
  - Never PASS while a material condition is labeled `Unproven`: either the inspected evidence resolves it, or it remains a finding.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: vv-execute
3
- description: Use when given an approved plan.xml to validate it, choose an execution mode with the user, and execute tasks with verification and commits
3
+ description: Use when the user explicitly selects the native plan-package execution workflow — validate an approved plan.xml, choose an execution mode with the user, and execute tasks with verification and commits
4
4
  ---
5
5
 
6
6
  <skill>
@@ -227,7 +227,7 @@ A DONE implementer moves the work item to awaiting_reviews with a review round t
227
227
  - Dispatch vv-code-reviewer with the VVOC_WORK_ITEM_ID header and the changed code/diff.
228
228
  Collect both results.
229
229
  - Both PASS → the work item becomes ready_to_close → proceed to commit.
230
- - Any FAIL → the work item returns to awaiting_implementer. Re-dispatch the implementer with the normalized reviewer findings, then repeat handle-status → verify → review (bounded by the runtime review-round limit).
230
+ - Any FAIL → the work item returns to awaiting_implementer. Re-dispatch the implementer with the normalized reviewer findings, then repeat handle-status → verify → review (bounded by the runtime review-round limit). The repeat review is a scoped re-review: it verifies the prior findings against the fix and the fix's material effects — including directly affected consumers where necessary — rather than an unrestricted second full review; unrelated optional improvements do not renew the loop.
231
231
  A reviewer returning NEEDS_CONTEXT is a hard stop: surface it to the user instead of re-dispatching.
232
232
  </step>
233
233
 
@@ -266,7 +266,7 @@ Otherwise → move to the next task in dependency order.
266
266
  <principle>Use this workflow only when execution mode is delegated. Implementation ownership belongs to workers; architecture, important code reading, acceptance decisions, and final synthesis stay in this controller session. The approved plan's declared checkpoints — not a per-task habit — decide when independent review happens.</principle>
267
267
 
268
268
  <step name="register-once">
269
- Register the approved plan exactly once with work_checkpoint (action register) using the plan path. Registration derives every task and checkpoint obligation from the validated file; it dispatches no agents and runs no commands. Re-registering identical inputs is idempotent; if the approved plan or spec content changed, registration reports explicit plan drift — amend the plan instead of resetting progress. Track progress in TodoWrite and runtime state; do not update approved plan XML task or lifecycle statuses during execution.
269
+ Register the approved plan exactly once with work_checkpoint (action register) using the plan path. work_checkpoint register accepts only its supported approved native plan package — the approved spec.xml and plan.xml pair under .vvoc/specs/. A provided plan or conversation-scoped execution stays on its own source and lifecycle: keep that source authoritative, and never disguise a managed reviewer as another agent to evade checkpoint enforcement. Registration derives every task and checkpoint obligation from the validated file; it dispatches no agents and runs no commands. Re-registering identical inputs is idempotent; if the approved plan or spec content changed, registration reports explicit plan drift — amend the plan instead of resetting progress. Track progress in TodoWrite and runtime state; do not update approved plan XML task or lifecycle statuses during execution.
270
270
  </step>
271
271
 
272
272
  <step name="dispatch-task">
@@ -277,11 +277,11 @@ For the next dependency-ready task, dispatch one bounded vv-implementer packet u
277
277
  A DONE worker result parks the item in awaiting_acceptance. It is not accepted and cannot close by itself. Inspect the material changed code and evidence yourself, then call work_item_decide:
278
278
  - accept with rationale and evidence references when the result matches the task contract and the evidence actually exercises the task's material claims.
279
279
  - request_changes with bounded rationale when it does not; the worker returns for one correction attempt before explicit recovery is required.
280
- Acceptance requires evidence sufficiency: a DONE report plus green general checks that never reach the changed behavior is not acceptance. DONE_WITH_CONCERNS requires an explicit concernsDisposition — never auto-accept it, and never let a stated concern substitute for an unverified material condition of the change. Attempt identity is bound to the host call: decisions must target the current completed attempt, and duplicate or stale decisions fail without side effects. The two-attempt budget (initial plus one correction) never resets on retries or re-decisions; only a failed checkpoint's explicit rework authorization grants exactly one more attempt.
280
+ Acceptance requires evidence sufficiency: a DONE report plus green general checks that never reach the changed behavior is not acceptance. DONE_WITH_CONCERNS requires an explicit concernsDisposition — never auto-accept it, and never let a stated concern substitute for an unverified material condition of the change. Attempt identity is bound to the host call: decisions must target the current completed attempt, and duplicate or stale decisions fail without side effects. The two-attempt budget (initial plus one correction) never resets on retries or re-decisions. Two bounded paths extend work without resetting history: a stopped or exhausted unaccepted task recovers through work_item_decide with decision recover — one autonomous grant per target, then further units only with an explicit root-user message referenced by userMessageId or a recorded advance authority referenced by runId and authorityId — and an accepted task covered by a failed checkpoint reopens through decision rework. Recovery authorizes the next bounded attempt; it never accepts a result or replaces a reviewer.
281
281
  </step>
282
282
 
283
283
  <step name="hard-stops">
284
- NEEDS_CONTEXT and BLOCKED from a worker are hard stops. Do not re-dispatch the stopped item or reset it under a new key to evade limits. Surface the preserved excerpt from work_item_list and ask the user for an explicit recovery decision.
284
+ NEEDS_CONTEXT and BLOCKED from a worker are hard stops. Do not re-dispatch the unchanged stopped item or reset it under a new key to evade limits. Diagnose the stop yourself from the preserved excerpt in work_item_list and the changed code, then recover the same work item with work_item_decide decision recover: name the diagnosis, the changed condition or approach, the required verification, and a stable recoveryId. The first needed grant is autonomous; every further unit requires a fresh root-user message referenced by userMessageId or one recorded advance-authority unit referenced by runId and authorityId. Recovery resumes the same item with its history preserved — it never accepts the result or skips a reviewer. A stop suspends this task; it does not end the execution session.
285
285
  </step>
286
286
 
287
287
  <step name="run-due-checkpoints">
@@ -289,6 +289,7 @@ Before starting tasks whose wave sits behind a declared checkpoint, run the due
289
289
  - Every declared reviewer must PASS for the pinned snapshot; a closed review-only FAIL report is a findings result, never approval.
290
290
  - Editing covered files during review makes the generation stale, not passing.
291
291
  - A failed checkpoint routes confirmed implementation fixes to workers: authorize rework with work_item_decide (decision rework) for the covered accepted task, then re-accept and start the checkpoint's one correction generation.
292
+ - A checkpoint generation that stopped (NEEDS_CONTEXT) or exhausted its two ordinary generations recovers through work_checkpoint (action recover) with the same bounded fields as task recovery. Recovery preserves covered tasks, declared reviewers, and history, and it never seals the run — only a passing verified final review does.
292
293
  - Passed milestones stay historical; later planned edits are covered by later checkpoints, not by the old approval.
293
294
  </step>
294
295
 
@@ -33,7 +33,7 @@ You are the vv-plan skill. Your job is to take an approved spec and write an imp
33
33
  <plan_document_format>
34
34
  <rule>Load the plan template from references/plan-template.xml. Fill every element.</rule>
35
35
  <rule>The top-level &lt;status&gt; element is the plan lifecycle status and MUST be one of: draft, approved, applied.</rule>
36
- <rule>When first saving the plan, set the top-level status to &lt;status&gt;draft&lt;/status&gt;. Only change it to approved after the user explicitly reads/reviews and approves the final plan. Never set the top-level status to applied yourself; applied is reserved for vv-execute after successful execution.</rule>
36
+ <rule>When first saving the plan, set the top-level status to &lt;status&gt;draft&lt;/status&gt;. Change it to approved only after the user explicitly reads/reviews and approves the final plan, or after a recorded delegated authority explicitly covers the planning stage; a reserved plan-approval stop still waits. Never set the top-level status to applied yourself; applied is reserved for vv-execute after successful execution.</rule>
37
37
  <rule>The plan contains two major sections: architecture (components, contracts, dependencies) and tasks (implementation steps with code snippets).</rule>
38
38
  <rule>Architecture maps the spec's components. Each architecture element reuses the exact COMPONENT-UPPER-SLUG identity declared in spec.xml: &lt;COMPONENT-CACHE-STORE&gt;…&lt;/COMPONENT-CACHE-STORE&gt;. Plan components are always a subset of spec components — a plan module without a spec component does not exist. Architecture child tags: name (display name from the spec), purpose, file (path, role), contract, depends_on (bare component slug). Do NOT add a child id element.</rule>
39
39
  <rule>Tasks are grouped into wave elements whose identity is the element name: &lt;WAVE-1&gt;, &lt;WAVE-2&gt;, … Each wave contains a &lt;goal&gt; and its tasks.</rule>
@@ -18,6 +18,7 @@ You are the vv-review skill. Your job is to route review requests to the appropr
18
18
  <step>Put the VVOC_WORK_ITEM_ID header as the first line of each reviewer sub-agent prompt.</step>
19
19
  <step>Collect findings from each required reviewer. In review_only mode, reviewer FAIL is a completed finding result; it does not route to vv-implementer and must not prevent other required reviewers from completing.</step>
20
20
  <step>Findings are the FINAL output. Do NOT proceed to fixes without explicit user confirmation.</step>
21
+ <step>When the request is a re-review after a fix, scope the reviewer packets to a scoped re-review: verify the prior findings against the fix and the fix's material effects — including directly affected consumers where necessary — rather than re-reviewing an entire unchanged change from scratch. Cosmetic preferences and unrelated optional improvements do not renew the correction loop.</step>
21
22
  <step>Present findings honestly: "no findings" means no defect was discovered within the reviewed scope, not a guarantee of correctness. Note material verification gaps and what the review could not establish; do not turn an empty findings list into a completion or correctness claim.</step>
22
23
  <step>Close the work item with work_item_close after the review is complete.</step>
23
24
  <step>When this review is a delegated-execution checkpoint review, the linked review work item is already open with the declared reviewer set: launch exactly those reviewers with the returned header and report the collected findings. A FAIL report closes the review work item but never satisfies the checkpoint — completion is decided by work_checkpoint verify, not by this skill. Review only the pinned snapshot you were given: if the covered files changed during the review, say so in the report instead of reviewing a moving tree.</step>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: vv-spec
3
- description: Use BEFORE any implementation or planning — interviews the user one question at a time, proposes approaches, presents a design, writes a spec document to .vvoc/specs/YYYY-MM-DD-<slug>/spec.xml, and optionally creates a design-context.xml companion for complex sessions
3
+ description: Use when the user explicitly selects the native spec-package workflow — interview the user, propose approaches, present a design, and write spec.xml plus an optional design-context.xml under .vvoc/specs/YYYY-MM-DD-<slug>/
4
4
  ---
5
5
 
6
6
  <skill>
@@ -17,7 +17,7 @@ You are the vv-spec skill. Your job is to interview the user, understand what th
17
17
  <invariant>
18
18
  UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPARENT WRAPPERS around the decision-tree walk — they make the depth visible, never shallower. Conflict rule: if any cue would tempt skipping a branch or accepting a shallow answer, the depth wins and the cue is dropped. The decision tree is still walked relentlessly, one point at a time, recommendation-first, dependency-ordered.
19
19
  </invariant>
20
- <principle>Walk down the decision tree relentlessly. Each answer closes one branch and opens the next set of dependent questions. Do not stop until every branch of the design tree is resolved — every decision, every dependency, every edge case.</principle>
20
+ <principle>Walk down the decision tree deliberately. Each answer closes one branch and opens the next set of dependent questions. Resolve the branches that materially affect the design, and stop where an explicit user instruction, a reserved stop, or a recorded delegated authority boundary applies.</principle>
21
21
  <principle>Ask ONE question at a time. Never present multiple questions in a single message. Each question must resolve exactly one decision point.</principle>
22
22
  <principle>For every question, provide YOUR recommended answer with reasoning. The user can accept it or override. This makes the interview fast — most answers land with a single word.</principle>
23
23
  <principle>Before asking the user, check whether the question can be answered by exploring the codebase. If the answer exists in existing code, patterns, configs, or docs, explore first and present what you found. Only ask the user when the codebase cannot answer.</principle>