@victframework/runtime 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/agent-governance.d.ts +285 -0
  2. package/dist/agent-governance.js +438 -0
  3. package/dist/agent-governance.js.map +1 -0
  4. package/dist/agent-registry.d.ts +103 -0
  5. package/dist/agent-registry.js +758 -0
  6. package/dist/agent-registry.js.map +1 -0
  7. package/dist/agent-types.d.ts +433 -0
  8. package/dist/agent-types.js +480 -0
  9. package/dist/agent-types.js.map +1 -0
  10. package/dist/authority.d.ts +83 -0
  11. package/dist/authority.js +170 -0
  12. package/dist/authority.js.map +1 -0
  13. package/dist/boundary-conformance.d.ts +51 -0
  14. package/dist/boundary-conformance.js +364 -0
  15. package/dist/boundary-conformance.js.map +1 -0
  16. package/dist/control-conformance.d.ts +68 -0
  17. package/dist/control-conformance.js +1131 -0
  18. package/dist/control-conformance.js.map +1 -0
  19. package/dist/control-in-memory.d.ts +257 -0
  20. package/dist/control-in-memory.js +886 -0
  21. package/dist/control-in-memory.js.map +1 -0
  22. package/dist/control-types.d.ts +1017 -0
  23. package/dist/control-types.js +779 -0
  24. package/dist/control-types.js.map +1 -0
  25. package/dist/durable-run.d.ts +73 -0
  26. package/dist/durable-run.js +262 -0
  27. package/dist/durable-run.js.map +1 -0
  28. package/dist/effect-policy.d.ts +22 -0
  29. package/dist/effect-policy.js +45 -0
  30. package/dist/effect-policy.js.map +1 -0
  31. package/dist/errors.d.ts +36 -0
  32. package/dist/errors.js +71 -0
  33. package/dist/errors.js.map +1 -0
  34. package/dist/in-memory-stores.d.ts +16 -0
  35. package/dist/in-memory-stores.js +522 -0
  36. package/dist/in-memory-stores.js.map +1 -0
  37. package/dist/index.d.ts +41 -0
  38. package/dist/index.js +26 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/operator-config.d.ts +141 -0
  41. package/dist/operator-config.js +289 -0
  42. package/dist/operator-config.js.map +1 -0
  43. package/dist/orchestration-activation.d.ts +116 -0
  44. package/dist/orchestration-activation.js +223 -0
  45. package/dist/orchestration-activation.js.map +1 -0
  46. package/dist/orchestration-canary-conformance.d.ts +10 -0
  47. package/dist/orchestration-canary-conformance.js +726 -0
  48. package/dist/orchestration-canary-conformance.js.map +1 -0
  49. package/dist/orchestration-commands.d.ts +47 -0
  50. package/dist/orchestration-commands.js +538 -0
  51. package/dist/orchestration-commands.js.map +1 -0
  52. package/dist/orchestration-conformance.d.ts +59 -0
  53. package/dist/orchestration-conformance.js +594 -0
  54. package/dist/orchestration-conformance.js.map +1 -0
  55. package/dist/orchestration-driver-types.d.ts +163 -0
  56. package/dist/orchestration-driver-types.js +21 -0
  57. package/dist/orchestration-driver-types.js.map +1 -0
  58. package/dist/orchestration-driver.d.ts +48 -0
  59. package/dist/orchestration-driver.js +1030 -0
  60. package/dist/orchestration-driver.js.map +1 -0
  61. package/dist/orchestration-in-memory.d.ts +18 -0
  62. package/dist/orchestration-in-memory.js +1313 -0
  63. package/dist/orchestration-in-memory.js.map +1 -0
  64. package/dist/orchestration-join-conformance.d.ts +20 -0
  65. package/dist/orchestration-join-conformance.js +542 -0
  66. package/dist/orchestration-join-conformance.js.map +1 -0
  67. package/dist/orchestration-plan.d.ts +52 -0
  68. package/dist/orchestration-plan.js +265 -0
  69. package/dist/orchestration-plan.js.map +1 -0
  70. package/dist/orchestration-race-conformance.d.ts +35 -0
  71. package/dist/orchestration-race-conformance.js +1265 -0
  72. package/dist/orchestration-race-conformance.js.map +1 -0
  73. package/dist/orchestration-remediation-conformance.d.ts +54 -0
  74. package/dist/orchestration-remediation-conformance.js +632 -0
  75. package/dist/orchestration-remediation-conformance.js.map +1 -0
  76. package/dist/orchestration-store-types.d.ts +568 -0
  77. package/dist/orchestration-store-types.js +2 -0
  78. package/dist/orchestration-store-types.js.map +1 -0
  79. package/dist/pack-conformance.d.ts +59 -0
  80. package/dist/pack-conformance.js +222 -0
  81. package/dist/pack-conformance.js.map +1 -0
  82. package/dist/pack-install.d.ts +44 -0
  83. package/dist/pack-install.js +126 -0
  84. package/dist/pack-install.js.map +1 -0
  85. package/dist/registry.d.ts +107 -0
  86. package/dist/registry.js +481 -0
  87. package/dist/registry.js.map +1 -0
  88. package/dist/runtime.d.ts +158 -0
  89. package/dist/runtime.js +1341 -0
  90. package/dist/runtime.js.map +1 -0
  91. package/dist/serialization.d.ts +26 -0
  92. package/dist/serialization.js +162 -0
  93. package/dist/serialization.js.map +1 -0
  94. package/dist/store-conformance.d.ts +45 -0
  95. package/dist/store-conformance.js +876 -0
  96. package/dist/store-conformance.js.map +1 -0
  97. package/dist/store-errors.d.ts +49 -0
  98. package/dist/store-errors.js +48 -0
  99. package/dist/store-errors.js.map +1 -0
  100. package/dist/store-types.d.ts +331 -0
  101. package/dist/store-types.js +14 -0
  102. package/dist/store-types.js.map +1 -0
  103. package/dist/store-validation.d.ts +63 -0
  104. package/dist/store-validation.js +164 -0
  105. package/dist/store-validation.js.map +1 -0
  106. package/dist/stream-hub.d.ts +151 -0
  107. package/dist/stream-hub.js +402 -0
  108. package/dist/stream-hub.js.map +1 -0
  109. package/dist/testing.d.ts +25 -0
  110. package/dist/testing.js +19 -0
  111. package/dist/testing.js.map +1 -0
  112. package/dist/types.d.ts +221 -0
  113. package/dist/types.js +2 -0
  114. package/dist/types.js.map +1 -0
  115. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-conformance.js","sourceRoot":"","sources":["../src/store-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUhF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8CrD;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,kBAAkB,GAAG,GAAG;IAChE,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,cAAc;QACtB,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACrE,KAAK,EAAE,EAAa;KACmC,CAAC;IAC1D,MAAM,QAAQ,GAAG;QACf;YACE,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,MAAe;YACvB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb;KACF,CAAC;IACF,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACvF,OAAO;QACL,cAAc,EAAE,0BAA0B;QAC1C,OAAO;QACP,KAAK,EAAE,qBAAqB,CAAC,KAA+D,CAAC;QAC7F,YAAY;QACZ,oBAAoB;QACpB,iBAAiB;QACjB,QAAQ;QACR,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAChD,0FAA0F;AAC1F,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACxD,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAEhD,SAAS,SAAS,CAChB,GAAW,EACX,IAAyB,EACzB,QAAiC,EAAE,EACnC,KAAK,GAAG,YAAY;IAEpB,OAAO;QACL,GAAG;QACH,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,SAAS,EAAE,KAAK,GAAG,GAAG;QACtB,IAAI;QACJ,GAAG,KAAK;KACM,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,YAAuC,EAAE;IAC9D,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACrC,SAAS,EAAE,KAAK;QAChB,GAAG,SAAS;KACb,CAAC;IACF,yEAAyE;IACzE,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KACxD,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,YAAiD,EAAE;IAEnD,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,YAAY;QACnB,sBAAsB,EAAE,CAAC;QACzB,oBAAoB,EAAE,CAAC;QACvB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QAC7B,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,GAAG,SAAS;KACb,CAAC;IACF,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;KAC9C,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,GAAc;IAC5B,IAAI,EAAE,+BAA+B;IACrC,OAAO,EAAE,yEAAyE;IAClF,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;CACvD,CAAC;AAEF,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD,SAAS,eAAe,CACtB,MAAyB,EACzB,OAAyB,EACzB,IAAY;IAEZ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,cAAc,CAAC,CAAa;IACzC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,wBAAwB,CACtC,MAA6B,EAC7B,OAAgC;IAEhC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEhC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrC,QAAQ,EAAE,OAAO;gBACjB,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpC,QAAQ,EAAE,OAAO;gBACjB,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrC,QAAQ,EAAE,OAAO;gBACjB,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAA8B,CAAC;YACzE,MAAM,QAAQ,GAAuB;gBACnC,GAAG,OAAO;gBACV,QAAQ,EAAE;oBACR;wBACE,UAAU,EAAE,eAAe,CAAC,UAAU;wBACtC,QAAQ,EAAE,GAAG;wBACb,MAAM,EAAE,eAAe,CAAC,MAAM;wBAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;wBAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;qBAC/B;iBACF;aACF,CAAC;YACF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,iBAAiB,EAAE,eAAe,CAAC,QAAQ,CAAC;aAC7C,CAAC,EACF,iCAAiC,CAClC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,UAAU;gBACpB,iBAAiB,EAAE,eAAe,CAAC,UAAU,CAAC;aAC/C,CAAC,CAAC;YACH,4EAA4E;YAC5E,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,qDAAqD;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;aAChD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,sEAAsE;YACtE,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC,EACF,gCAAgC,CACjC,CAAC;YACF,sBAAsB;YACtB,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,yBAAyB,EAAE,CAAC;aAC7B,CAAC,EACF,+BAA+B,CAChC,CAAC;YACF,uBAAuB;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,yBAAyB,EAAE,CAAC;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAC5E,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC9C,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YACzD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,oDAAoD;YACpD,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EACtC,yBAAyB,CAC1B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAChD,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;gBACvC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAChF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,yDAAyD;YACzD,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAClF,CAAC,CACH,EACD,yBAAyB,CAC1B,CAAC;YACF,+DAA+D;YAC/D,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAClF,CAAC,CACH,EACD,oCAAoC,CACrC,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAIT;gBACH,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC/C,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC5D,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;aAC5C,CAAC;YACF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,YAAY,KAAK,EAAE,CAAC;gBAClC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CACjD,iBAAiB,CAAC;oBAChB,KAAK;oBACL,sBAAsB,EAAE,CAAC;oBACzB,oBAAoB,EAAE,CAAC;oBACvB,IAAI,EAAE;wBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,KAAK,EAAE,CAAC;wBACR,WAAW,EAAE,KAAK;wBAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACjD;oBACD,MAAM,EAAE;wBACN,SAAS,CACP,CAAC,EACD,MAAM,CAAC,KAAK,EACZ;4BACE,KAAK,EAAE,CAAC;4BACR,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChD,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;gCAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;gCAC3C,CAAC,CAAC,EAAE,CAAC;4BACP,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC1E,EACD,KAAK,CACN;qBACF;iBACF,CAAC,CACH,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC;gBACD,4CAA4C;gBAC5C,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CACjF,EACD,yBAAyB,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;YAC9D,+BAA+B;YAC/B,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC7C,iBAAiB,CAAC;gBAChB,KAAK,EAAE,QAAQ;gBACf,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC3D,MAAM,EAAE;oBACN,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE;wBAC5B,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;qBAC9C,CAAC;iBACH;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,mDAAmD;YACnD,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAChD,iBAAiB,CAAC;gBAChB,KAAK,EAAE,WAAW;gBAClB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;iBACnE;gBACD,MAAM,EAAE;oBACN,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE;wBAC5B,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;qBAC9C,CAAC;iBACH;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC3F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,0DAA0D;YAC1D,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC7C,iBAAiB,CAAC;gBAChB,KAAK,EAAE,QAAQ;gBACf,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,KAAK;oBAClB,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;oBACpD,MAAM;iBACP;gBACD,MAAM,EAAE;oBACN,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE;wBAC5B,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;qBAC9C,CAAC;iBACH;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,oDAAoD;YACpD,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC/C,iBAAiB,CAAC;gBAChB,KAAK,EAAE,OAAO;gBACd,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC3E,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;aACtE,CAAC,CACH,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,0DAA0D;YAC1D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,gBAAgB,EAAE,eAAe,CAAU,EAAE,CAAC;gBAChF,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAChC,iBAAiB,CAAC;oBAChB,sBAAsB,EAAE,QAAQ;oBAChC,oBAAoB,EAAE,GAAG;oBACzB,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;iBACxE,CAAC,CACH,CAAC;gBACF,QAAQ,IAAI,CAAC,CAAC;gBACd,GAAG,IAAI,CAAC,CAAC;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,gCAAgC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,oBAAoB;YACpB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1B,sEAAsE;YACtE,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;gBACvC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAErD,CAAC;gBACF,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YAC9B,CAAC,CAAC;YACF,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,MAAM,EAAE,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;YACD,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACrD,IAAI,EAAE,iCAAiC;gBACvC,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,iBAAiB;gBAC9B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,qEAAqE;YACrE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACtD,IAAI,EAAE,iCAAiC;gBACvC,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,iBAAiB;gBAC9B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,IAAI,IAAI,CAAsB,CAAC;YAC/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9D,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC;YAC3F,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EACjD,0BAA0B,CAC3B,CAAC;YACF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAmB,EAAE,CAAC,CAAC,EACnE,4BAA4B,CAC7B,CAAC;YACF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,YAAsB,EAAE,CAAC,CAAC,EAC3E,4BAA4B,CAC7B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,+DAA+D;YAC/D,qEAAqE;YACrE,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAClF,CAAC,CACH,EACD,oCAAoC,CACrC,CAAC;YACF,2CAA2C;YAC3C,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAClF,CAAC,CACH,EACD,oCAAoC,CACrC,CAAC;YACF,sDAAsD;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,oCAAoC;YACpC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAChC,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;aAClF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,iCAAiC;YACjC,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CACnB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CACxF,EACD,oCAAoC,CACrC,CAAC;YACF,0CAA0C;YAC1C,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CACnB,aAAa,CAAC;gBACZ,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE;oBACN,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC;oBACzC,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC;iBAChF;aACF,CAAC,CACH,EACD,oCAAoC,CACrC,CAAC;YACF,8CAA8C;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3D,uCAAuC;YACvC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CACzB,aAAa,CAAC;gBACZ,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACN,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC;oBAC1C,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;iBACjF;aACF,CAAC,CACH,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9F,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC/G,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAwB,CAAC;YAClF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC,EACjF,gCAAgC,CACjC,CAAC;YACF,sDAAsD;YACtD,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChB,QAAQ,EAAE,OAAO;gBACjB,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC;aAC5C,CAAC,EACF,gCAAgC,CACjC,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,iEAAiE,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,+DAA+D;YAC/D,mEAAmE;YACnE,kEAAkE;YAClE,oCAAoC;YACpC,MAAM,WAAW,GAAG;gBAClB,MAAM,EAAE,cAAc;gBACtB,EAAE,EAAE,cAAc;gBAClB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACzE,KAAK,EAAE,EAAE;aACV,CAAC;YACF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAClD,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EACnF,gCAAgC,CACjC,CAAC;YACF,sEAAsE;YACtE,wBAAwB;YACxB,MAAM,cAAc,GAAG;gBACrB,GAAG,OAAO;gBACV,QAAQ,EAAE;oBACR;wBACE,UAAU,EAAE,OAAO;wBACnB,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,MAAe;wBACvB,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;qBACb;iBACF;aACF,CAAC;YACF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAChB,QAAQ,EAAE,cAAc;gBACxB,iBAAiB,EAAE,eAAe,CAAC,cAAc,CAAC;aACnD,CAAC,EACF,gCAAgC,CACjC,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC,EACF,gCAAgC,CACjC,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,kBAAkB;YAClB,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,EACrF,gCAAgC,CACjC,CAAC;YACF,uBAAuB;YACvB,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAC1F,gCAAgC,CACjC,CAAC;YACF,gCAAgC;YAChC,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,SAAS,CACnB,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC,CAC7E,EACD,gCAAgC,CACjC,CAAC;YACF,gCAAgC;YAChC,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;gBAC3B,CAAC,SAAS,EAAE,kBAAkB,CAAC;gBAC/B,CAAC,cAAc,EAAE,kBAAkB,CAAC;gBACpC,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;gBAC7C,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;aAC/B,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;oBAChB,sBAAsB,EAAE,CAAC;oBACzB,oBAAoB,EAAE,CAAC;oBACvB,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAiB,CAAC;iBACtD,CAAC,CACH,EACD,4BAA4B,CAC7B,CAAC;YACJ,CAAC;YACD,yCAAyC;YACzC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC,CAAC;YACH,gEAAgE;YAChE,sDAAsD;YACtD,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACzB,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,EAAE;aACrE,CAAC,EACF,+BAA+B,CAChC,CAAC;YACF,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACvE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,0CAA0C;YAC1C,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACzB,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,EAAE;aACnE,CAAC,EACF,+BAA+B,CAChC,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,0BAA0B;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;gBAC3E,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,EAAE;aACnE,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACnH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACrF,iEAAiE;YACjE,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,KAAK,EAAE,UAAU;gBACjB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,KAAK;oBAClB,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;iBAC7D;gBACD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;aAClE,CAAC,CACH,EACD,4BAA4B,CAC7B,CAAC;YACF,sDAAsD;YACtD,mEAAmE;YACnE,mEAAmE;YACnE,8DAA8D;YAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7E,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;oBAChB,KAAK,EAAE,UAAU;oBACjB,sBAAsB,EAAE,CAAC;oBACzB,oBAAoB,EAAE,CAAC;oBACvB,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;oBACxE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;iBAClE,CAAC,CACH,EACD,4BAA4B,CAC7B,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClE,yDAAyD;YACzD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAClD,iBAAiB,CAAC;gBAChB,KAAK,EAAE,UAAU;gBACjB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,KAAK;oBAClB,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;iBACpE;gBACD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;aAClE,CAAC,CACH,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAC/B,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACtB,IAAI,EAAE,0BAA0B;aACjC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACd,qEAAqE;gBACrE,2DAA2D;gBAC3D,OAAO;YACT,CAAC;YACD,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA8B,CAAC;YAChD,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC,CAAC;YACF,MAAM,eAAe,CACnB,MAAM,EACN,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAC1B,iBAAiB,CAAC;gBAChB,sBAAsB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aACtD,CAAC,CACH,EACD,wBAAwB,CACzB,CAAC;YACF,wEAAwE;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0C,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Structured, safe errors for persistence concerns.
3
+ *
4
+ * Rules (Stage 02 error model):
5
+ * - Raw driver/database error messages, SQL text and bound values never
6
+ * enter the public `message` or `details` of a store error.
7
+ * - Raw driver detail is attached only to `driverCause`, a protected
8
+ * development-only field that must never be serialized into run records,
9
+ * events, or ordinary `RunResult`/`VictError` data.
10
+ * - Database file paths do not appear in ordinary public errors.
11
+ */
12
+ export type StoreErrorCode = 'VICT_STORE_UNSUPPORTED_SCHEMA' | 'VICT_STORE_MIGRATION_FAILED' | 'VICT_STORE_ACTIVATION_NOT_FOUND' | 'VICT_STORE_ACTIVATION_MISMATCH' | 'VICT_STORE_ACTIVATION_COLLISION' | 'VICT_STORE_SELECTION_CONFLICT' | 'VICT_STORE_RUN_NOT_FOUND' | 'VICT_STORE_RUN_CONFLICT' | 'VICT_STORE_EVENT_SEQUENCE_CONFLICT' | 'VICT_STORE_INVALID_RECORD' | 'VICT_STORE_BUSY' | 'VICT_STORE_UNAVAILABLE' | 'VICT_STORE_INVALID_COMMAND' | 'VICT_STORE_ATTEMPT_FENCE_CONFLICT' | 'VICT_STORE_ATTEMPT_STATE_CONFLICT' | 'VICT_STORE_TOKEN_CONFLICT' | 'VICT_STORE_WAIT_NOT_FOUND' | 'VICT_STORE_WAIT_CONFLICT' | 'VICT_STORE_SIGNAL_NAME_MISMATCH' | 'VICT_STORE_SIGNAL_CONFLICT' | 'VICT_STORE_TIMER_NOT_FOUND' | 'VICT_STORE_TIMER_CONFLICT' | 'VICT_STORE_CANCELLATION_CONFLICT' | 'VICT_STORE_RESOLUTION_CONFLICT' | 'VICT_STORE_INVARIANT';
13
+ /** Safe details carried by store errors: operation plus relevant safe identifiers. */
14
+ export interface StoreErrorDetails {
15
+ readonly operation: string;
16
+ readonly activationVersion?: string;
17
+ readonly graphId?: string;
18
+ readonly runId?: string;
19
+ readonly expectedRecordRevision?: number;
20
+ readonly actualRecordRevision?: number;
21
+ readonly expectedEventSeq?: number;
22
+ readonly actualEventSeq?: number;
23
+ readonly expectedSelectionRevision?: number | 'none';
24
+ readonly actualSelectionRevision?: number | 'none';
25
+ readonly schemaVersion?: number;
26
+ readonly [key: string]: unknown;
27
+ }
28
+ export declare class VictStoreError extends Error {
29
+ readonly code: StoreErrorCode;
30
+ readonly details: StoreErrorDetails;
31
+ /**
32
+ * Protected development-only cause (raw driver error). Never copy this
33
+ * value into persisted data or ordinary public errors.
34
+ *
35
+ * DIAGNOSTIC-SAFETY SHAPE (enforced by construction, not convention):
36
+ * the property is defined NON-ENUMERABLE, NON-WRITABLE, and
37
+ * NON-CONFIGURABLE, so it is absent from `JSON.stringify(error)`,
38
+ * `Object.keys(error)`, object spread, structured-clone snapshots, and
39
+ * every ordinary serialized/persisted diagnostic surface. Authorized
40
+ * programmatic access (`error.driverCause`) for local development
41
+ * diagnostics still works. The raw cause is deliberately NOT copied to
42
+ * the standard `Error.cause` (which would create another observable
43
+ * serialization/persistence path).
44
+ */
45
+ readonly driverCause?: unknown;
46
+ constructor(code: StoreErrorCode, message: string, details: StoreErrorDetails, driverCause?: unknown);
47
+ }
48
+ /** Wrap an unknown driver failure into a safe, structured store error. */
49
+ export declare function storeUnavailable(operation: string, cause: unknown): VictStoreError;
@@ -0,0 +1,48 @@
1
+ export class VictStoreError extends Error {
2
+ code;
3
+ details;
4
+ /**
5
+ * Protected development-only cause (raw driver error). Never copy this
6
+ * value into persisted data or ordinary public errors.
7
+ *
8
+ * DIAGNOSTIC-SAFETY SHAPE (enforced by construction, not convention):
9
+ * the property is defined NON-ENUMERABLE, NON-WRITABLE, and
10
+ * NON-CONFIGURABLE, so it is absent from `JSON.stringify(error)`,
11
+ * `Object.keys(error)`, object spread, structured-clone snapshots, and
12
+ * every ordinary serialized/persisted diagnostic surface. Authorized
13
+ * programmatic access (`error.driverCause`) for local development
14
+ * diagnostics still works. The raw cause is deliberately NOT copied to
15
+ * the standard `Error.cause` (which would create another observable
16
+ * serialization/persistence path).
17
+ */
18
+ driverCause;
19
+ constructor(code, message, details, driverCause) {
20
+ super(message);
21
+ this.name = 'VictStoreError';
22
+ this.code = code;
23
+ this.details = details;
24
+ // Define — never assign — the raw cause: enumerability is the property
25
+ // that leaks it into default serialization, so the safety boundary is
26
+ // enforced by the property's shape itself.
27
+ Object.defineProperty(this, 'driverCause', {
28
+ value: driverCause,
29
+ enumerable: false,
30
+ writable: false,
31
+ configurable: false,
32
+ });
33
+ }
34
+ }
35
+ /** Wrap an unknown driver failure into a safe, structured store error. */
36
+ export function storeUnavailable(operation, cause) {
37
+ const errCode = cause?.code;
38
+ const sqliteErrCode = cause?.errcode;
39
+ // SQLite result codes: 5 = SQLITE_BUSY / SQLITE_BUSY_SNAPSHOT variants.
40
+ if (sqliteErrCode === 5 ||
41
+ (errCode === 'ERR_SQLITE_ERROR' &&
42
+ sqliteErrCode === undefined &&
43
+ String(cause?.message ?? '').includes('busy'))) {
44
+ return new VictStoreError('VICT_STORE_BUSY', 'The store is busy; the operation did not complete within the configured busy timeout.', { operation }, cause);
45
+ }
46
+ return new VictStoreError('VICT_STORE_UNAVAILABLE', 'The store could not complete the operation.', { operation }, cause);
47
+ }
48
+ //# sourceMappingURL=store-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-errors.js","sourceRoot":"","sources":["../src/store-errors.ts"],"names":[],"mappings":"AAuDA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAiB;IACrB,OAAO,CAAoB;IACpC;;;;;;;;;;;;;OAaG;IACM,WAAW,CAAW;IAE/B,YACE,IAAoB,EACpB,OAAe,EACf,OAA0B,EAC1B,WAAqB;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,uEAAuE;QACvE,sEAAsE;QACtE,2CAA2C;QAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE;YACzC,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;CACF;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,KAAc;IAChE,MAAM,OAAO,GAAI,KAAmC,EAAE,IAAI,CAAC;IAC3D,MAAM,aAAa,GAAI,KAAsC,EAAE,OAAO,CAAC;IACvE,wEAAwE;IACxE,IACE,aAAa,KAAK,CAAC;QACnB,CAAC,OAAO,KAAK,kBAAkB;YAC7B,aAAa,KAAK,SAAS;YAC3B,MAAM,CAAE,KAAsB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAClE,CAAC;QACD,OAAO,IAAI,cAAc,CACvB,iBAAiB,EACjB,uFAAuF,EACvF,EAAE,SAAS,EAAE,EACb,KAAK,CACN,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,cAAc,CACvB,wBAAwB,EACxB,6CAA6C,EAC7C,EAAE,SAAS,EAAE,EACb,KAAK,CACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,331 @@
1
+ import type { EffectClass, ExecutionMode, KernelEvent, OutputSummary } from '@victframework/kernel';
2
+ import type { VictError } from '@victframework/contracts';
3
+ import type { PayloadRetention } from './types.js';
4
+ import type { OrchestrationStore } from './orchestration-store-types.js';
5
+ /** Identity of the serializable activation-manifest shape. Independent of the SQLite schema version. */
6
+ export declare const ACTIVATION_MANIFEST_SCHEMA: "vict.activation-manifest@1";
7
+ /**
8
+ * Stage 03 activation-manifest schema for control graphs. The v1 manifest
9
+ * schema is never edited: capability-only activations keep their exact
10
+ * historical manifest schema and remain readable/restorable.
11
+ */
12
+ export declare const ACTIVATION_MANIFEST_SCHEMA_V2: "vict.activation-manifest@2";
13
+ /** Identity of the serialized durable event shape. Independent of the SQLite schema version. */
14
+ export declare const RUN_EVENT_SCHEMA: "vict.run-event@1";
15
+ /** One effective capability/contract binding recorded in an activation manifest. */
16
+ export interface ActivationManifestBinding {
17
+ readonly capability: string;
18
+ readonly revision: string;
19
+ readonly effect: EffectClass;
20
+ readonly input: {
21
+ readonly id: string;
22
+ readonly revision: string;
23
+ } | null;
24
+ readonly output: {
25
+ readonly id: string;
26
+ readonly revision: string;
27
+ } | null;
28
+ /** Declared idempotency semantics ('keyed'); omitted when undeclared. */
29
+ readonly idempotency?: 'keyed';
30
+ /**
31
+ * Stage 04: execution-affecting authority declarations (declared names
32
+ * only — never resolved values and never runtime grants). Participates
33
+ * in the capability-set identity; omitted when the capability declares
34
+ * no authority names.
35
+ */
36
+ readonly authority?: {
37
+ readonly permissions?: readonly string[];
38
+ readonly configuration?: readonly string[];
39
+ readonly requiredConfiguration?: readonly string[];
40
+ readonly secrets?: readonly string[];
41
+ readonly requiredSecrets?: readonly string[];
42
+ };
43
+ }
44
+ /** One control-node declaration captured by a Stage 03 activation manifest. */
45
+ export interface ActivationManifestWait {
46
+ readonly nodeId: string;
47
+ readonly kind: 'signal' | 'timer';
48
+ /** Signal name (signal waits). */
49
+ readonly name?: string;
50
+ /** Signal payload contract identity (signal waits). */
51
+ readonly contract?: {
52
+ readonly id: string;
53
+ readonly revision: string;
54
+ } | null;
55
+ /** Absolute timeout (timed signal waits). */
56
+ readonly timeoutMs?: number | null;
57
+ /** Relative delay (timer waits). */
58
+ readonly delayMs?: number;
59
+ }
60
+ /** One fork declaration captured by a Stage 03 activation manifest. */
61
+ export interface ActivationManifestFork {
62
+ readonly forkId: string;
63
+ readonly joinId: string;
64
+ readonly branchKeys: readonly string[];
65
+ readonly maxConcurrency: number | null;
66
+ }
67
+ /** One join declaration captured by a Stage 03 activation manifest. */
68
+ export interface ActivationManifestJoin {
69
+ readonly joinId: string;
70
+ readonly forkId: string;
71
+ /** Output contract identity validating the canonical joined output. */
72
+ readonly outputContract?: {
73
+ readonly id: string;
74
+ readonly revision: string;
75
+ } | null;
76
+ }
77
+ /** One contract identity recorded in an activation manifest. */
78
+ export interface ActivationManifestContract {
79
+ readonly id: string;
80
+ readonly revision: string;
81
+ }
82
+ /**
83
+ * Serializable activation meaning. Contains only JSON-safe material:
84
+ * graph declaration, version identities, effective binding metadata and
85
+ * contract identities. Functions, schema-library objects, live registry
86
+ * maps and secrets are never part of a manifest.
87
+ */
88
+ export interface ActivationManifest {
89
+ readonly manifestSchema: typeof ACTIVATION_MANIFEST_SCHEMA | typeof ACTIVATION_MANIFEST_SCHEMA_V2;
90
+ readonly graphId: string;
91
+ /** Canonical semantic graph declaration (defaults filled, nodes/edges sorted). */
92
+ readonly graph: unknown;
93
+ readonly graphVersion: string;
94
+ readonly capabilitySetVersion: string;
95
+ readonly activationVersion: string;
96
+ readonly bindings: readonly ActivationManifestBinding[];
97
+ readonly contracts: readonly ActivationManifestContract[];
98
+ /** Control-node declarations (v2 manifests only). */
99
+ readonly waits?: readonly ActivationManifestWait[];
100
+ readonly forks?: readonly ActivationManifestFork[];
101
+ readonly joins?: readonly ActivationManifestJoin[];
102
+ }
103
+ /** An immutable stored activation: the manifest plus storage metadata. */
104
+ export interface StoredActivation {
105
+ readonly activationVersion: string;
106
+ readonly manifestSchema: string;
107
+ readonly graphId: string;
108
+ readonly graphVersion: string;
109
+ readonly capabilitySetVersion: string;
110
+ /** Canonical manifest JSON. Byte-comparable; canonical form is a stage invariant. */
111
+ readonly canonicalManifest: string;
112
+ readonly createdAt: number;
113
+ }
114
+ export interface PublishActivationCommand {
115
+ readonly manifest: ActivationManifest;
116
+ /** Canonical JSON of the manifest; must equal `canonicalJson(manifest)`. */
117
+ readonly canonicalManifest: string;
118
+ }
119
+ export interface PublishResult {
120
+ readonly activationVersion: string;
121
+ /** False when an equivalent activation already existed (idempotent republish). */
122
+ readonly created: boolean;
123
+ }
124
+ export interface SelectActivationCommand {
125
+ readonly graphId: string;
126
+ readonly activationVersion: string;
127
+ /**
128
+ * Optimistic-concurrency guard. When provided, selection fails with a
129
+ * structured conflict unless the guard matches the CURRENT state:
130
+ * a number requires that selection revision; the literal `'none'`
131
+ * requires an EXPLICIT ABSENCE of any current selection (never overload
132
+ * `undefined`, which means no guard was supplied).
133
+ */
134
+ readonly expectedSelectionRevision?: number | 'none';
135
+ /**
136
+ * Stable operation identity (idempotency/fencing anchor): re-selection
137
+ * under the SAME operation identity returns the ORIGINAL selection
138
+ * without adding another revision; a different operation identity goes
139
+ * through the guard normally.
140
+ */
141
+ readonly operationId?: string;
142
+ }
143
+ /** Current durable selection of an activation for one graph. */
144
+ export interface ActivationSelection {
145
+ readonly graphId: string;
146
+ readonly activationVersion: string;
147
+ readonly selectionRevision: number;
148
+ readonly selectedAt: number;
149
+ /** The ChangeSet operation identity that produced this selection, when
150
+ * selection ran under the operation protocol (idempotency anchor). */
151
+ readonly operationId?: string;
152
+ }
153
+ export interface PublishAndSelectCommand {
154
+ readonly publish: PublishActivationCommand;
155
+ readonly select: Omit<SelectActivationCommand, 'activationVersion'>;
156
+ }
157
+ /**
158
+ * Durable catalog of immutable activation manifests and per-graph selection.
159
+ *
160
+ * Implementations must return immutable snapshots (no caller-mutable
161
+ * references into canonical storage) and must reject the same
162
+ * activationVersion paired with different canonical content.
163
+ */
164
+ export interface ActivationCatalog {
165
+ publish(command: PublishActivationCommand): Promise<PublishResult>;
166
+ get(activationVersion: string): Promise<StoredActivation | undefined>;
167
+ list(): Promise<readonly StoredActivation[]>;
168
+ /** Atomically point `graphId` at an existing activation. */
169
+ select(command: SelectActivationCommand): Promise<ActivationSelection>;
170
+ getSelection(graphId: string): Promise<ActivationSelection | undefined>;
171
+ /** Convenience read: the full activation currently selected for a graph. */
172
+ getSelected(graphId: string): Promise<StoredActivation | undefined>;
173
+ /** Publish and select in one atomic transaction (used by activation). */
174
+ publishAndSelect(command: PublishAndSelectCommand): Promise<PublishResult & {
175
+ selection: ActivationSelection;
176
+ }>;
177
+ }
178
+ /** Durable run status. `running` is the pre-terminal state of an in-flight or interrupted run. */
179
+ export type StoredRunStatus = 'running' | 'waiting' | 'blocked' | 'completed' | 'failed' | 'cancelled';
180
+ /**
181
+ * Current durable run record. Contains safe material only: identifiers,
182
+ * versions, status, sanitized error, safe output summary — and the complete
183
+ * output only when the run's retention policy is explicitly `'full'`.
184
+ */
185
+ export interface StoredRun {
186
+ readonly runId: string;
187
+ readonly graphId: string;
188
+ readonly graphVersion: string;
189
+ readonly capabilitySetVersion: string;
190
+ readonly activationVersion: string;
191
+ readonly status: StoredRunStatus;
192
+ readonly mode: ExecutionMode;
193
+ readonly retention: PayloadRetention;
194
+ readonly steps: number;
195
+ /** Last durable node context, when known. Never an input/output value. */
196
+ readonly currentNodeId: string | null;
197
+ readonly outputSummary?: OutputSummary;
198
+ /** Complete validated output — present only under explicit `'full'` retention. */
199
+ readonly output?: unknown;
200
+ /** Sanitized structured error (safe code, safe message, safe details). */
201
+ readonly error?: VictError;
202
+ /** Optimistic-concurrency revision; starts at 1 and increments per transition. */
203
+ readonly recordRevision: number;
204
+ readonly createdAt: number;
205
+ readonly updatedAt: number;
206
+ readonly completedAt: number | null;
207
+ }
208
+ /** One durable append-only operational event. `seq` is dense per run and defines order. */
209
+ export interface StoredEvent {
210
+ readonly runId: string;
211
+ readonly seq: number;
212
+ readonly eventSchema: string;
213
+ readonly type: KernelEvent['type'];
214
+ readonly graphId: string;
215
+ readonly graphVersion: string;
216
+ readonly capabilitySetVersion: string;
217
+ readonly activationVersion: string;
218
+ readonly nodeId: string | null;
219
+ readonly capabilityId: string | null;
220
+ /** Safe event payload: the full kernel event serialized as canonical JSON. */
221
+ readonly payload: string;
222
+ readonly timestamp: number;
223
+ }
224
+ export interface CreateRunCommand {
225
+ readonly runId: string;
226
+ readonly graphId: string;
227
+ readonly graphVersion: string;
228
+ readonly capabilitySetVersion: string;
229
+ readonly activationVersion: string;
230
+ readonly mode: ExecutionMode;
231
+ readonly retention: PayloadRetention;
232
+ readonly currentNodeId?: string;
233
+ readonly steps?: number;
234
+ /** Initial events (typically `run.started`), appended atomically with creation. */
235
+ readonly events: readonly KernelEvent[];
236
+ readonly timestamp: number;
237
+ }
238
+ /** Safe run-field updates applied by one transition. Only provided fields change. */
239
+ export interface RunStateUpdate {
240
+ readonly status?: StoredRunStatus;
241
+ readonly currentNodeId?: string | null;
242
+ readonly steps?: number;
243
+ readonly error?: VictError;
244
+ readonly outputSummary?: OutputSummary;
245
+ readonly output?: unknown;
246
+ readonly completedAt?: number | null;
247
+ }
248
+ export interface CommitRunTransitionCommand {
249
+ readonly runId: string;
250
+ /** Optimistic-concurrency guard: the record revision the caller expects. */
251
+ readonly expectedRecordRevision: number;
252
+ /** The event sequence the appended batch must start at (dense, append-only). */
253
+ readonly expectedNextEventSeq: number;
254
+ readonly next: RunStateUpdate;
255
+ /** Ordered batch of new events, appended atomically with the state update. */
256
+ readonly events: readonly KernelEvent[];
257
+ readonly timestamp: number;
258
+ }
259
+ export interface RunQuery {
260
+ readonly graphId?: string;
261
+ readonly activationVersion?: string;
262
+ readonly status?: StoredRunStatus;
263
+ readonly limit?: number;
264
+ }
265
+ export interface RecoveryCommand {
266
+ /** Stable machine-readable interruption code recorded on the blocked event. */
267
+ readonly code: string;
268
+ /** Safe reason recorded on the blocked event. */
269
+ readonly reason: string;
270
+ /** Safe remediation recorded on the blocked event. */
271
+ readonly remediation: string;
272
+ readonly timestamp: number;
273
+ }
274
+ export interface RecoveredRun {
275
+ readonly runId: string;
276
+ readonly graphId: string;
277
+ readonly activationVersion: string;
278
+ readonly currentNodeId: string | null;
279
+ readonly steps: number;
280
+ /** Sequence number of the appended interruption event. */
281
+ readonly eventSeq: number;
282
+ }
283
+ export interface RecoveryResult {
284
+ /** Nonterminal runs found in a running state. */
285
+ readonly scanned: number;
286
+ readonly blocked: readonly RecoveredRun[];
287
+ }
288
+ /**
289
+ * Durable execution store for runs and their append-only events.
290
+ *
291
+ * Atomicity contract (DATA-003): every `createRun` and `commitTransition`
292
+ * commits the run-state update and its event batch together or not at all.
293
+ * Reads return immutable snapshots; events cannot be updated or deleted
294
+ * through this port; run updates require optimistic concurrency.
295
+ */
296
+ export interface ExecutionStore {
297
+ createRun(command: CreateRunCommand): Promise<StoredRun>;
298
+ commitTransition(command: CommitRunTransitionCommand): Promise<StoredRun>;
299
+ getRun(runId: string): Promise<StoredRun | undefined>;
300
+ listRuns(query?: RunQuery): Promise<readonly StoredRun[]>;
301
+ listEvents(runId: string, afterSeq?: number): Promise<readonly StoredEvent[]>;
302
+ recoverInterruptedRuns(command: RecoveryCommand): Promise<RecoveryResult>;
303
+ }
304
+ /** The set of stores a runtime needs. All ports share one backend. */
305
+ export interface VictStores {
306
+ readonly catalog: ActivationCatalog;
307
+ readonly execution: ExecutionStore;
308
+ /**
309
+ * Stage 03 durable orchestration store. Optional for backward
310
+ * compatibility with pre-Stage-03 store sets; the durable orchestration
311
+ * driver requires it and fails with a structured error when absent.
312
+ */
313
+ readonly orchestration?: OrchestrationStore;
314
+ }
315
+ /** Stores plus explicit lifecycle. Adapters should implement `dispose` for clean shutdown. */
316
+ export interface DisposableVictStores extends VictStores {
317
+ /** Close underlying resources (e.g. the SQLite connection). Idempotent. */
318
+ dispose(): Promise<void>;
319
+ }
320
+ /**
321
+ * Test-only fault injection surface. Adapters MAY accept a hook that throws
322
+ * between the logical run-state update and the event append inside one
323
+ * transaction, so tests can prove no half-state becomes visible. Inert in
324
+ * production use.
325
+ */
326
+ export interface TransitionFaultHooks {
327
+ /** Called after the run-state update is staged but before events are appended. */
328
+ afterRunUpdate?(command: CommitRunTransitionCommand | CreateRunCommand): void;
329
+ /** Called after events are appended but before the transaction commits. */
330
+ beforeCommit?(command: CommitRunTransitionCommand | CreateRunCommand): void;
331
+ }
@@ -0,0 +1,14 @@
1
+ /* ------------------------------------------------------------------ */
2
+ /* Schema versions */
3
+ /* ------------------------------------------------------------------ */
4
+ /** Identity of the serializable activation-manifest shape. Independent of the SQLite schema version. */
5
+ export const ACTIVATION_MANIFEST_SCHEMA = 'vict.activation-manifest@1';
6
+ /**
7
+ * Stage 03 activation-manifest schema for control graphs. The v1 manifest
8
+ * schema is never edited: capability-only activations keep their exact
9
+ * historical manifest schema and remain readable/restorable.
10
+ */
11
+ export const ACTIVATION_MANIFEST_SCHEMA_V2 = 'vict.activation-manifest@2';
12
+ /** Identity of the serialized durable event shape. Independent of the SQLite schema version. */
13
+ export const RUN_EVENT_SCHEMA = 'vict.run-event@1';
14
+ //# sourceMappingURL=store-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-types.js","sourceRoot":"","sources":["../src/store-types.ts"],"names":[],"mappings":"AAKA,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,wGAAwG;AACxG,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAAqC,CAAC;AAChF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAAqC,CAAC;AACnF,gGAAgG;AAChG,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAA2B,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { KernelEvent } from '@victframework/kernel';
2
+ import type { ActivationManifest, PublishActivationCommand } from './store-types.js';
3
+ /**
4
+ * Publish-time validation: the supplied canonical JSON must be exactly the
5
+ * canonical representation of the supplied manifest, and every
6
+ * content-derived identity must be reproducible from that content:
7
+ *
8
+ * - `manifest.graph` must already be the canonical semantic form of the
9
+ * graph declaration;
10
+ * - `graphVersion` must equal the canonical fingerprint of that form;
11
+ * - `capabilitySetVersion` must equal the canonical fingerprint of the
12
+ * effective bindings;
13
+ * - `activationVersion` must equal the canonical combination of the two.
14
+ *
15
+ * This catches manifests whose top-level identifiers look valid while the
16
+ * binding or graph content differs (the identity would not recompute).
17
+ */
18
+ export declare function assertPublishableManifest(command: PublishActivationCommand): void;
19
+ export interface ActivationIdentity {
20
+ readonly graphId: string;
21
+ readonly graphVersion: string;
22
+ readonly capabilitySetVersion: string;
23
+ readonly activationVersion: string;
24
+ }
25
+ /**
26
+ * Run-creation validation: the run's graph, graph version, capability-set
27
+ * version, and activation version must describe ONE coherent published
28
+ * activation — the exact stored one.
29
+ */
30
+ export declare function assertRunMatchesActivation(stored: ActivationIdentity, identity: ActivationIdentity, operation: string): void;
31
+ /**
32
+ * Selection validation: an activation may only be selected for the graph it
33
+ * belongs to.
34
+ */
35
+ export declare function assertActivationBelongsToGraph(stored: {
36
+ readonly graphId: string;
37
+ readonly activationVersion: string;
38
+ }, graphId: string, operation: string): void;
39
+ export interface RunIdentityColumns {
40
+ readonly runId: string;
41
+ readonly graphId: string;
42
+ readonly graphVersion: string;
43
+ readonly capabilitySetVersion: string;
44
+ readonly activationVersion: string;
45
+ }
46
+ /**
47
+ * Event-append validation: every appended event must carry exactly its
48
+ * stored run's identity columns.
49
+ */
50
+ export declare function assertEventMatchesRun(event: KernelEvent, run: RunIdentityColumns): void;
51
+ /**
52
+ * Read-time validation for a stored activation: recompute every identity
53
+ * from the persisted canonical manifest and reject corrupt content instead
54
+ * of silently normalizing it. Used defensively on read paths.
55
+ */
56
+ export declare function assertStoredActivationReadable(row: {
57
+ activationVersion: string;
58
+ graphId: string;
59
+ graphVersion: string;
60
+ capabilitySetVersion: string;
61
+ canonicalManifest: string;
62
+ manifest: ActivationManifest;
63
+ }): void;