@coreyuan/vector-mind 1.0.53 → 1.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 (140) hide show
  1. package/README.md +99 -72
  2. package/admin-panel/README.md +77 -0
  3. package/admin-panel/dist/client/assets/index-Bzyjdhh2.css +1 -0
  4. package/admin-panel/dist/client/assets/index-Ph73ewzt.js +9 -0
  5. package/admin-panel/dist/client/index.html +14 -0
  6. package/admin-panel/package.json +25 -0
  7. package/admin-panel/server/index.mjs +1424 -0
  8. package/admin-panel/server/security.mjs +117 -0
  9. package/admin-panel/server/security.test.mjs +113 -0
  10. package/admin-panel/server/storage.mjs +49 -0
  11. package/admin-panel/server/storage.test.mjs +36 -0
  12. package/dist/builtin-conventions.js +1 -1
  13. package/dist/builtin-conventions.js.map +1 -1
  14. package/dist/builtin-instructions.d.ts +1 -1
  15. package/dist/builtin-instructions.js +1 -1
  16. package/dist/builtin-instructions.js.map +1 -1
  17. package/dist/checkpoint-snapshot.d.ts +56 -0
  18. package/dist/checkpoint-snapshot.js +411 -0
  19. package/dist/checkpoint-snapshot.js.map +1 -0
  20. package/dist/config.d.ts +4 -1
  21. package/dist/config.js +25 -1
  22. package/dist/config.js.map +1 -1
  23. package/dist/context-governance.d.ts +56 -0
  24. package/dist/context-governance.js +176 -0
  25. package/dist/context-governance.js.map +1 -0
  26. package/dist/database-runtime.d.ts +6 -1
  27. package/dist/database-runtime.js +555 -127
  28. package/dist/database-runtime.js.map +1 -1
  29. package/dist/development-warnings.d.ts +2 -1
  30. package/dist/development-warnings.js +92 -22
  31. package/dist/development-warnings.js.map +1 -1
  32. package/dist/file-indexing.d.ts +2 -1
  33. package/dist/file-indexing.js +127 -47
  34. package/dist/file-indexing.js.map +1 -1
  35. package/dist/grep.js +4 -0
  36. package/dist/grep.js.map +1 -1
  37. package/dist/index.js +8 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/large-file-split.d.ts +53 -8
  40. package/dist/large-file-split.js +294 -75
  41. package/dist/large-file-split.js.map +1 -1
  42. package/dist/memory-maintenance/compaction.d.ts +7 -0
  43. package/dist/memory-maintenance/compaction.js +133 -0
  44. package/dist/memory-maintenance/compaction.js.map +1 -0
  45. package/dist/memory-maintenance/context.d.ts +37 -0
  46. package/dist/memory-maintenance/context.js +52 -0
  47. package/dist/memory-maintenance/context.js.map +1 -0
  48. package/dist/memory-maintenance/index-prune.d.ts +22 -0
  49. package/dist/memory-maintenance/index-prune.js +243 -0
  50. package/dist/memory-maintenance/index-prune.js.map +1 -0
  51. package/dist/memory-maintenance/metrics.d.ts +5 -0
  52. package/dist/memory-maintenance/metrics.js +30 -0
  53. package/dist/memory-maintenance/metrics.js.map +1 -0
  54. package/dist/memory-maintenance/pending.d.ts +4 -0
  55. package/dist/memory-maintenance/pending.js +74 -0
  56. package/dist/memory-maintenance/pending.js.map +1 -0
  57. package/dist/memory-maintenance/purge.d.ts +7 -0
  58. package/dist/memory-maintenance/purge.js +115 -0
  59. package/dist/memory-maintenance/purge.js.map +1 -0
  60. package/dist/memory-maintenance/runner.d.ts +5 -0
  61. package/dist/memory-maintenance/runner.js +182 -0
  62. package/dist/memory-maintenance/runner.js.map +1 -0
  63. package/dist/memory-maintenance/sqlite.d.ts +10 -0
  64. package/dist/memory-maintenance/sqlite.js +67 -0
  65. package/dist/memory-maintenance/sqlite.js.map +1 -0
  66. package/dist/memory-maintenance/types.d.ts +87 -0
  67. package/dist/memory-maintenance/types.js +2 -0
  68. package/dist/memory-maintenance/types.js.map +1 -0
  69. package/dist/memory-maintenance.d.ts +5 -80
  70. package/dist/memory-maintenance.js +3 -536
  71. package/dist/memory-maintenance.js.map +1 -1
  72. package/dist/memory-mutations.d.ts +3 -3
  73. package/dist/memory-mutations.js +109 -43
  74. package/dist/memory-mutations.js.map +1 -1
  75. package/dist/memory-recall.d.ts +3 -1
  76. package/dist/memory-recall.js +33 -1
  77. package/dist/memory-recall.js.map +1 -1
  78. package/dist/operation-scope.js +42 -12
  79. package/dist/operation-scope.js.map +1 -1
  80. package/dist/path-containment.d.ts +5 -0
  81. package/dist/path-containment.js +64 -0
  82. package/dist/path-containment.js.map +1 -0
  83. package/dist/path-filters.d.ts +1 -1
  84. package/dist/path-filters.js +7 -6
  85. package/dist/path-filters.js.map +1 -1
  86. package/dist/path-rules.d.ts +1 -0
  87. package/dist/path-rules.js +23 -1
  88. package/dist/path-rules.js.map +1 -1
  89. package/dist/pending-changes.d.ts +5 -0
  90. package/dist/pending-changes.js +30 -16
  91. package/dist/pending-changes.js.map +1 -1
  92. package/dist/project-files.d.ts +1 -0
  93. package/dist/project-files.js +19 -10
  94. package/dist/project-files.js.map +1 -1
  95. package/dist/root.d.ts +4 -1
  96. package/dist/root.js +34 -4
  97. package/dist/root.js.map +1 -1
  98. package/dist/rtk-integrity.d.ts +5 -0
  99. package/dist/rtk-integrity.js +35 -0
  100. package/dist/rtk-integrity.js.map +1 -0
  101. package/dist/rtk-shim.js +22 -9
  102. package/dist/rtk-shim.js.map +1 -1
  103. package/dist/rtk-tools.d.ts +8 -0
  104. package/dist/rtk-tools.js +59 -42
  105. package/dist/rtk-tools.js.map +1 -1
  106. package/dist/server-instructions.js +8 -88
  107. package/dist/server-instructions.js.map +1 -1
  108. package/dist/tool-catalog.d.ts +2 -0
  109. package/dist/tool-catalog.js +77 -24
  110. package/dist/tool-catalog.js.map +1 -1
  111. package/dist/tool-handlers/context-recovery.js +79 -54
  112. package/dist/tool-handlers/context-recovery.js.map +1 -1
  113. package/dist/tool-handlers/large-files.js +615 -41
  114. package/dist/tool-handlers/large-files.js.map +1 -1
  115. package/dist/tool-handlers/memory-diagnostics.js +240 -45
  116. package/dist/tool-handlers/memory-diagnostics.js.map +1 -1
  117. package/dist/tool-handlers/memory.js +167 -22
  118. package/dist/tool-handlers/memory.js.map +1 -1
  119. package/dist/tool-handlers/operations.js +28 -8
  120. package/dist/tool-handlers/operations.js.map +1 -1
  121. package/dist/tool-handlers/requirement-status.d.ts +5 -0
  122. package/dist/tool-handlers/requirement-status.js +267 -0
  123. package/dist/tool-handlers/requirement-status.js.map +1 -0
  124. package/dist/tool-handlers/requirements.js +851 -115
  125. package/dist/tool-handlers/requirements.js.map +1 -1
  126. package/dist/tool-handlers.d.ts +4 -0
  127. package/dist/tool-handlers.js +439 -6
  128. package/dist/tool-handlers.js.map +1 -1
  129. package/dist/tool-output.d.ts +71 -2
  130. package/dist/tool-output.js +56 -13
  131. package/dist/tool-output.js.map +1 -1
  132. package/dist/tool-schemas.d.ts +243 -0
  133. package/dist/tool-schemas.js +112 -26
  134. package/dist/tool-schemas.js.map +1 -1
  135. package/dist/types.d.ts +10 -1
  136. package/docs/capability-matrix.md +23 -17
  137. package/package.json +21 -5
  138. package/skills/vector-mind-autopilot/SKILL.md +82 -23
  139. package/skills/vector-mind-autopilot/references/claude-project-instructions.md +14 -11
  140. package/skills/vector-mind-autopilot/references/universal-system-prompt.md +24 -16
@@ -1 +1 @@
1
- {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/tool-handlers/requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/tool-handlers/requirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACxL,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,yCAAyC,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAClW,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrK,OAAO,EAAE,uCAAuC,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC1G,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAM7C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAgC,CAAC;AAErE,SAAS,qBAAqB,CAAC,KAAgC;IAC7D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAwC;IACnE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,wBAAwB;IAC/B,IAAI,cAAc,GAAG,6BAA6B,CAAC;IACnD,OAAO,SAAS,UAAU,CAAI,KAAU;QACtC,MAAM,IAAI,GAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,IAAI,uBAAuB;gBAAE,MAAM;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,SAAS,GAAG,cAAc;gBAAE,MAAM;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,cAAc,IAAI,SAAS,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAC9E,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,KAA2B;IACjE,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,oBAAoB,CAAC,IAAI,IAAI,GAAG;QAAE,OAAO;IAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAA2B,CAAC;IAC9E,IAAI,MAAM;QAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CACtB,KAA2B,EAC3B,MAA0B;IAE1B,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB,CACrB,wBAAwB,EACxB,KAAK,EACL,+BAA+B,CAAC,KAAK,CAAC,EACtC,MAAM,CACP;aACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,SAAiB;IAClE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,GAAG,CAAC;YACF,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM;YAC1B,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;oBAAE,KAAK,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,KAAK,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;QACtC,CAAC,QAAQ,SAAS,GAAG,CAAC,EAAE;QACxB,OAAO,KAAK,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,OAA2B,EAC3B,KAAa,EACb,QAAgB;IAEhB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAClC;;;;eAIW,CACZ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAA4C,CAAC;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAA2B,EAC3B,IAA4C;IAQ5C,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CACjD,oEAAoE,CACrE,CAAC,GAAG,EAAoC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CACzC;gDAC0C,CAC3C,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAA+B,CAAC;QACjD,OAAO;YACL,WAAW,EAAE,WAAW,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YAC3E,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,WAAW,EAAE,MAAM,IAAI,IAAI;YAC7C,KAAK,EAAE,CAAC,CAAC,WAAW;SACrB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CACzC;;;;iBAIW,CACZ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;QAC1D,OAAO;YACL,WAAW,EAAE,WAAW,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YAC3E,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,WAAW;YACzB,gBAAgB,EAAE,WAAW,EAAE,MAAM,IAAI,IAAI;YAC7C,KAAK,EAAE,CAAC,CAAC,WAAW;SACrB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAqB,CAAC;IACrE,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxD,SAAS,EAAE,WAAW,GAAG,CAAC;QAC1B,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAA2B,EAC3B,IAA2D,EAC3D,WAAuC,EACvC,SAAmB;IAQnB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,OAAO,GAA+C,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAA8B,CAAC;QACnG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpG,CAAC,CAAC,QAAQ,CAAC,IAA+B;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC1H,CAAC,CAAC,UAAU,CAAC,QAAmC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,uBAAuB,GAAG,UAAU,CAAC,kBAAkB,IAAI,OAAO,UAAU,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACjK,CAAC,CAAC,UAAU,CAAC,kBAA6C;YAC1D,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ;YAClE,CAAC,CAAC,QAAQ,CAAC,kBAAkB;YAC7B,CAAC,CAAC,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ;gBAC9C,CAAC,CAAC,QAAQ,CAAC,iBAAiB;gBAC5B,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC;oBACH,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;wBACzC,CAAC,CAAC,MAAM,wBAAwB,CAAC,OAAO,CAAC;wBACzC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE;YAAE,MAAM,GAAG,sBAAsB,CAAC;aAC9E,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,eAAe,CAAC;aACrE,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,kBAAkB,MAAM,IAAI,SAAS,EAAE,CAAC;aAC9G,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI;YAAE,MAAM,GAAG,0BAA0B,CAAC;aACtF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,MAAM,GAAG,iCAAiC,CAAC;aACjH,IAAI,CAAC,QAAQ,CAAC,4BAA4B,IAAI,uBAAuB,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI;YAAE,MAAM,GAAG,yBAAyB,CAAC;aACvI,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,WAAW;YAAE,MAAM,GAAG,iCAAiC,CAAC;QACnG,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAC5D,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO;QACP,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,EACJ,qBAAqB,EACrB,oBAAoB,EACpB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,GAC/B,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IAChF,wBAAwB,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,6BAA6B,CAAC;QACnD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;QACzD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,mBAAmB;KACpC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,eAAe;QAC7B,QAAQ,SAAS,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAClG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3E,IAAI,YAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,GAAiC,EAAE;YACtF,MAAM,gBAAgB,GAAG,iCAAiC,CAAC,GAAG,CAAC,OAAO,CAA+B,CAAC;YACtG,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAqB,CAAC;YACvF,MAAM,kBAAkB,GAAG,CAAC,eAAe;gBACzC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzG,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,aAAa,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;YAC7D,MAAM,kBAAkB,GAAG,gBAAgB;gBACzC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,kBAAkB;oBAClB,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;gBAC7D,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa;oBAC1B,WAAW,EAAE,kBAAkB;oBAC/B,cAAc,EAAE,KAAK;iBACtB,CAAC;YACJ,CAAC;YAED,IAAI,mBAAmB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvF,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,mHAAmH;oBAC1H,kBAAkB,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACxD,WAAW,EAAE,uBAAuB,CAAC,MAAM;iBAC5C,CAAC;YACJ,CAAC;YAED,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe;gBAChD,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChF,IAAI,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,qCAAqC,CAAC,qBAAqB,CAAC,CAAC;gBAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,iCAAiC,CAAC,GAAG,CAAC,OAAO,CAA+B,CAAC;oBAC3F,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,KAAK;4BAClB,WAAW,EAAE,4BAA4B;4BACzC,cAAc,EAAE,KAAK;yBACtB,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,mBAAmB,qBAAqB,sCAAsC;qBACtF,CAAC;gBACJ,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrF,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,iCAAiC,CAAC,GAAG,CAAC,OAAO,CAA+B,CAAC;gBAC3F,IAAI,CAAC,KAAK;oBAAE,MAAM,GAAG,CAAC;gBACtB,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,KAAK;oBAClB,WAAW,EAAE,4BAA4B;oBACzC,cAAc;iBACf,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CACzC,aAAa,EACb,IAAI,CAAC,KAAK,EACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EACpF,SAAS,CAAC,OAAO,CAAC,CACnB,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE;gBACF,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC5C,cAAc;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;iBAC/F,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC;wBACb,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,GAAG,CAAC,YAAY,CAAC,kBAAkB;4BACjC,CAAC,CAAC;gCACE,YAAY,EAAE,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,kBAAkB,CAAC,MAAM;gCAChF,mBAAmB,EAAE,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oCACvE,EAAE,EAAE,SAAS,CAAC,EAAE;oCAChB,KAAK,EAAE,SAAS,CAAC,KAAK;oCACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;iCAC7B,CAAC,CAAC;6BACJ;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAI,8BAA8B,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAgC,EAAE,EAAE,IAAI,IAAI,CAAC;QAC7H,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChF,WAAW,CAAC,mBAAmB,EAAE;YAC/B,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;YACnC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK;YACrC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC;wBACb,EAAE,EAAE,IAAI;wBACR,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;wBACvF,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,QAAQ,IAAI,OAAO;wBACtD,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;wBAC7B,MAAM,EAAE,IAAI;wBACZ,YAAY,EAAE,YAAY,CAAC,WAAW;wBACtC,eAAe,EAAE,YAAY,CAAC,cAAc;wBAC5C,cAAc,EAAE,mBAAmB;wBACnC,iBAAiB,EAAE,sBAAsB;wBACzC,oBAAoB,EAAE,EAAE;qBACzB,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,mBAAmB,EAAE;QAC/B,MAAM,EAAE,YAAY,CAAC,EAAE;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,eAAe,EAAE,YAAY,CAAC,cAAc;QAC5C,cAAc;QACd,iBAAiB;QACjB,oBAAoB,EAAE,oBAAoB,CAAC,MAAM;KAClD,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC;oBACb,EAAE,EAAE,IAAI;oBACR,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;oBACvD,QAAQ,EAAE,OAAO;oBACjB,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE;oBAC1C,eAAe,EAAE,YAAY,CAAC,cAAc;oBAC5C,sBAAsB,EAAE,KAAK;oBAC7B,cAAc;oBACd,iBAAiB;oBACjB,oBAAoB;iBACrB,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,IAAI,GAAG,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAyB,CAAC;IAClD,wBAAwB,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CAAC;IACF,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;QACrD,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,UAAU,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE;QACtC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,cAAc,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAChF,MAAM,0BAA0B,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC;QACrE,IAAI,CAAC,KAAK,KAAK,SAAS;QACxB,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACvC,CAAC,CAAC;YACE,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;YACnD,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,CAAC,yBAAyB,CAAC;SAC3C;QACH,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IACvF,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,MAAM;QACtD,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG;QAC3B,GAAG,wBAAwB,CAAC,UAAU,EAAE,EAAE,kBAAkB,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,GAAG,uBAAuB,CAAC;YACzB,WAAW,EAAE,MAAM;YACnB,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,UAAU;YACjB,0BAA0B,EAAE,IAAI;SACjC,CAAC;QACF,GAAG,+BAA+B,CAAC;YACjC,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,gBAAgB;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,UAAU;SACxB,CAAC;KACH,CAAC;IAEF,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mCAAmC,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAC3D,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CACvD,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,oBAAoB,GAAG,UAAU,KAAK,QAAQ;QAClD,IAAI,CAAC,mBAAmB,KAAK,KAAK;QAClC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,UAAU,KAAK,kBAAkB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3F,MAAM,qBAAqB,GAAG,UAAU,KAAK,2BAA2B,IAAI,mBAAmB,CAAC,KAAK,CAAC;IACtG,MAAM,eAAe,GAAG,WAAW,IAAI,CAAC,oBAAoB,IAAI,CAAC,sBAAsB,IAAI,CAAC,qBAAqB,CAAC;IAClH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/D,OAAO,CAAC,IAAI,KAAK,mCAAmC;QACpD,yCAAyC,CAAC,OAAO,EAAE,UAAU,CAAC,CAC/D,CAAC;IACF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC;IAC3E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,oBAAoB,IAAI,cAAc,IAAI,CAAC,mBAAmB,CAAC;IAClF,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,OAAO,EAAE;QAC9D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,eAAe;QACtB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,WAAW,EAAE,MAAM,IAAI,IAAI;QAC3B,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,6BAA6B,CAAC,mBAAmB,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS;QAC5C,CAAC,CAAC,8GAA8G;QAChH,CAAC,CAAC,CAAC,oBAAoB;YACvB,CAAC,CAAC,kGAAkG;YACpG,CAAC,CAAC,CAAC,cAAc;gBACjB,CAAC,CAAC,6FAA6F;gBAC/F,CAAC,CAAC,WAAW,IAAI,UAAU,KAAK,2BAA2B,IAAI,CAAC,mBAAmB,CAAC,KAAK;oBACvF,CAAC,CAAC,wJAAwJ;oBAC1J,CAAC,CAAC,WAAW,IAAI,UAAU,KAAK,2BAA2B,IAAI,UAAU;wBACzE,CAAC,CAAC,mKAAmK;wBACrK,CAAC,CAAC,WAAW,IAAI,UAAU,KAAK,QAAQ,IAAI,oBAAoB,IAAI,UAAU;4BAC5E,CAAC,CAAC,wIAAwI;4BAC5I,CAAC,CAAC,WAAW,IAAI,UAAU,KAAK,kBAAkB,IAAI,UAAU;gCAC9D,CAAC,CAAC,0IAA0I;gCAC5I,CAAC,CAAC,WAAW;oCACX,CAAC,CAAC,sLAAsL;oCAC5L,CAAC,CAAC,mBAAmB;wCACf,CAAC,CAAC,4GAA4G;wCAC9G,CAAC,CAAC,4DAA4D,CAAC;IACzE,MAAM,cAAc,GAAG,WAAW,IAAI,eAAe;QACnD,CAAC,CAAC,UAAU,KAAK,2BAA2B;YAC1C,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,2BAA2B;QAC/B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,GAAG,WAAW;QACpC,CAAC,CAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,kBAAkB,CAAkB;QAC/E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,eAAe,GAAG;QACtB,EAAE,EAAE,UAAU;QACd,YAAY,EAAE,UAAU;QACxB,aAAa,EAAE,CAAC,WAAW;QAC3B,aAAa,EAAE,WAAW;YACxB,CAAC,CAAC;gBACE,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,mBAAmB;gBAC3B,SAAS,EAAE,CAAC,mBAAmB;gBAC/B,eAAe,EAAE,cAAc,IAAI,UAAU;gBAC7C,qBAAqB,EAAE,KAAK;gBAC5B,sBAAsB,EAAE,oBAAoB;gBAC5C,wBAAwB,EAAE,sBAAsB;aACjD;YACH,CAAC,CAAC,IAAI;QACR,WAAW,EAAE,UAAU;QACvB,kBAAkB,EAAE,iBAAiB;QACrC,eAAe,EAAE,cAAc;QAC/B,oBAAoB,EAAE,kBAAkB;QACxC,qBAAqB,EAAE,mBAAmB;QAC1C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;QACrD,kBAAkB,EAAE,WAAW,IAAI,IAAI;QACvC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1E,sBAAsB,EAAE;YACtB,gBAAgB,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YACrC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC;QACD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,eAAe;QACtB,mBAAmB,EAAE;YACnB,iBAAiB,EAAE,gBAAgB;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;SAC5C;QACD,cAAc;QACd,0BAA0B,EAAE,0BAA0B;YACpD,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC;gBACrC,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,MAAM;QACZ,oBAAoB;QACpB,eAAe;KAChB,CAAC;IACF,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAC/C,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CACtD,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,uBAAuB,EAAE,CAAC;IAC3E,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC;IACjC,MAAM,WAAW,GAAG;QAClB,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;QACvC,MAAM;QACN,eAAe,EAAE,uBAAuB;KACjB,CAAC;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IACD,WAAW,CAAC,wBAAwB,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI;QAC1B,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;QACjD,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACzB,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,oBAAoB,EAAE,oBAAoB,CAAC,MAAM;QACjD,MAAM;QACN,eAAe,EAAE,uBAAuB;KACzC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAClD,MAAM,EACJ,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW;QACzC,CAAC,CAAC,mBAAmB,CAAC;YAClB,GAAG,IAAI,CAAC,WAAW;YACnB,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;YACvG,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM;gBAC3D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB;gBACpC,CAAC,CAAC,IAAI,CAAC,iBAAiB;SAC3B,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,YAAqB,EAA4C,EAAE;QACzG,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sEAAsE,KAAK,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CACvF,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CAAC;IACF,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvF,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAChE,MAAM,kBAAkB,GAAG,kBAAkB;QAC3C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9C,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;YAC1D,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;YAC1D,iBAAiB,EAAE,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACpE,WAAW,EAAE,kBAAkB;YAC/B,0BAA0B,EAAE,uBAAuB;iBAChD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBAC5F,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,IAAI,CAAC;IAOT,MAAM,gBAAgB,GAAG,GAAgC,EAAE;QACzD,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,EAAE,CAAC,OAAO,CACf;;;;;;;gBAOU,CACX,CAAC,GAAG,CAAC,kBAAkB,CAAgC,CAAC;IAC3D,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,QAAyB,EAAkB,EAAE;QACvE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,QAAQ,CAAC,mBAAmB,KAAK,kBAAkB,EAAE,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ,CAAC;4BACb,EAAE,EAAE,KAAK;4BACT,KAAK,EAAE,gGAAgG;4BACvG,eAAe,EAAE,kBAAkB;yBACpC,CAAC;qBACH,CAAC;aACH,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,QAAQ,CAAC,KAAK;iBACX,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC7G,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACd,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBACvC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa;oBAC1F,CAAC,CAAC,IAAI,CAAC,MAAM;oBACb,CAAC,CAAC,aAAsB;aAC3B,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,WAAW,EAAE;YAChE,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC;SACnF,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;QACtD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACxE,CAAC,CAAC,QAAQ,CAAC,0BAA0B;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QAC3E,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAChE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC;wBACb,EAAE,EAAE,IAAI;wBACR,qBAAqB,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE;wBACjF,YAAY,EAAE,kBAAkB,CAAC,IAAI;wBACrC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK;wBAC5C,sBAAsB,EAAE,kBAAkB,CAAC,SAAS;wBACpD,OAAO,EAAE,EAAE;wBACX,aAAa,EAAE,CAAC;wBAChB,iBAAiB,EAAE,KAAK;wBACxB,cAAc,EAAE;4BACd,aAAa,EAAE,WAAW;4BAC1B,cAAc,EAAE,QAAQ,CAAC,EAAE;4BAC3B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC,MAAM,CAAC;yBACnH;wBACD,YAAY,EAAE,mBAAmB,CAAC,IAAI;wBACtC,kBAAkB,EAAE,mBAAmB,CAAC,KAAK;wBAC7C,sBAAsB,EAAE,mBAAmB,CAAC,SAAS;wBACrD,iBAAiB,EAAE,uBAAuB,CAAC,IAAI;wBAC/C,uBAAuB,EAAE,uBAAuB,CAAC,KAAK;wBACtD,2BAA2B,EAAE,uBAAuB,CAAC,SAAS;wBAC9D,0BAA0B,EAAE,gBAAgB,CAAC,IAAI;wBACjD,gCAAgC,EAAE,gBAAgB,CAAC,KAAK;wBACxD,oCAAoC,EAAE,gBAAgB,CAAC,SAAS;wBAChE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,IAAI;wBACzD,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,KAAK,IAAI;wBAC7D,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,IAAI;wBAC7C,MAAM,EAAE,IAAI;wBACZ,eAAe,EAAE,kBAAkB;wBACnC,oBAAoB,EAAE,eAAe,CAAC,IAAI;wBAC1C,0BAA0B,EAAE,eAAe,CAAC,KAAK;wBACjD,8BAA8B,EAAE,eAAe,CAAC,SAAS;qBAC1D,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,gBAAgB,EAAE,CAAC;IACpD,IAAI,wBAAwB;QAAE,OAAO,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IAElF,wBAAwB,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,uBAAuB,GAAG,gBAAgB,EAAE,CAAC;QACnD,IAAI,uBAAuB;YAAE,OAAO,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAChF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC;wBACb,EAAE,EAAE,KAAK;wBACT,IAAI,EAAE,UAAU,CAAC,SAAS;4BACxB,CAAC,CAAC,8BAA8B;4BAChC,CAAC,CAAC,UAAU,CAAC,gBAAgB,KAAK,YAAY;gCAC5C,CAAC,CAAC,wBAAwB;gCAC1B,CAAC,CAAC,UAAU,CAAC,KAAK;oCAChB,CAAC,CAAC,0BAA0B;oCAChC,CAAC,CAAC,mCAAmC;wBACvC,KAAK,EAAE,UAAU,CAAC,SAAS;4BACzB,CAAC,CAAC,oFAAoF;4BACtF,CAAC,CAAC,UAAU,CAAC,gBAAgB,KAAK,YAAY;gCAC5C,CAAC,CAAC,gHAAgH;gCACpH,CAAC,CAAC,+LAA+L;wBACnM,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE;wBACtC,SAAS,EAAE;4BACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;4BAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI;yBACxC;wBACD,YAAY,EAAE,UAAU,CAAC,YAAY;wBACrC,mBAAmB,EAAG,OAAO,CAAC,aAAa,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAsB;6BAClG,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC3G,QAAQ,EAAE,UAAU,CAAC,SAAS;4BAC5B,CAAC,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,wBAAwB,CAAC,EAAE;4BAC5E,CAAC,CAAC,UAAU,CAAC,gBAAgB,KAAK,YAAY;gCAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,EAAE;gCACvG,CAAC,CAAC;oCACE,MAAM,EAAE,+BAA+B;oCACvC,KAAK,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;oCAC5E,IAAI,EAAE,2IAA2I;iCAClJ;qBACN,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAMR,EAAE,CAAC;IACR,IAAI,aAAa,GAAiF,IAAI,CAAC;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC;IACzB,IAAI,YAAY,GAML,IAAI,CAAC;IAChB,MAAM,oBAAoB,GAAyE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACnH,MAAM,YAAY,GAIb,EAAE,CAAC;IACR,IAAI,iBAA8C,CAAC;IACnD,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QACnC,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;QACvC,IAAI,iBAAiB;YAAE,OAAO;QAC9B,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,MAAM,OAAO,GAKR,EAAE,CAAC;QAER,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,EAI3C,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACzF,YAAY,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACF,IAAI,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,qCAAqC,MAAM,CAAC,SAAS,sDAAsD;oBAC3G,8GAA8G,CAC/G,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;oBAC1E,OAAO,CAAC,IAAI,CAAC;wBACX,OAAO,EAAE,SAAS,CAAC,QAAQ;wBAC3B,UAAU,EAAE,SAAS,CAAC,UAAU;wBAChC,KAAK,EAAE,CAAC,CAAC,UAAU;wBACnB,MAAM,EAAE,SAAS;qBAClB,CAAC,CAAC;oBACH,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,eAAe;oBAC3B,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GACP,MAAM,CAAC,UAAU,KAAK,eAAe;gBACnC,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;oBACjC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YAC1B,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC;YACvD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnE,WAAW,EAAE,aAAa;aAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC/G,CAAC;YACF,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/F,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,8EAA8E,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjH,CAAC;gBACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjD,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW,CAC/F,CAAC;gBACF,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC;wBAChD,CAAC,CAAC,SAAS,CAAC,OAAO;wBACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC;wBACH,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,wBAAwB,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;oBAClH,CAAC;oBAAC,MAAM,CAAC;wBACP,aAAa,GAAG,KAAK,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,aAAa,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1F,MAAM,IAAI,KAAK,CACb,8GAA8G,QAAQ,CAAC,IAAI,EAAE,CAC9H,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,oBAAoB;YAAE,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzF,MAAM,eAAe,GACnB,kBAAkB,CAAC,MAAM,KAAK,CAAC;YAC7B,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS;YACjC,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC;QACb,MAAM,SAAS,GAAG,QAAQ,CACxB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,eAAe,EAAE,CAAC,CAAC,eAAe;SACnC,CAAC,CAAC,CACJ,CAAC;QACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAE5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1G,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,QAAQ,CAAC;YAC9B,aAAa;YACb,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,eAAe,EAAE,CAAC,CAAC,eAAe;aACnC,CAAC,CAAC;YACH,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;YACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;YAC/C,0BAA0B,EAAE,uBAAuB;YACnD,eAAe,EAAE,kBAAkB;YACnC,mBAAmB,EAAE,kBAAkB;YACvC,aAAa,EAAE,YAAY;YAC3B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CACzC,eAAe,EACf,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,MAAM,EACX,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACxE,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,cAAc,EACd,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACtF,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC1D,aAAa,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAEzE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa;gBACb,cAAc;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnB,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAC/E,CAAC;YAED,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBACpC,CAAC,CAAC,CAAC,CAAC,OAAO;oBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;YACnH,MAAM,OAAO,GAAG,sBAAsB,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACrF,MAAM,KAAK,GAAG,gBAAgB,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YACnF,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CACzC,aAAa,EACb,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,uBAAuB,CAAC;gBACtB,OAAO,EAAE,kBAAkB;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,WAAW;gBAClB,cAAc,EAAE,MAAM,CAAC,EAAE;gBACzB,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtG,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,EACF,SAAS,CAAC,OAAO,CAAC,CACnB,CAAC;YACF,oBAAoB,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACtG,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,qCAAqC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,EAAE,+CAA+C,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SAC3H,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB;QAAE,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG;QAC3B,GAAG,wBAAwB,CAAC,YAAY,EAAE;YACxC,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,CAAC;SAC9E,CAAC;QACF,GAAG,uBAAuB,CAAC;YACzB,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,YAAY;SACpB,CAAC;KACH,CAAC;IACF,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAEjE,WAAW,CAAC,oBAAoB,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;QACjD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAChC,WAAW,EAAE,YAAY,CAAC,MAAM;QAChC,qBAAqB,EAAE,oBAAoB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI;QAC7D,oBAAoB,EAAE,oBAAoB,CAAC,MAAM;QACjD,0BAA0B,EAAE,uBAAuB,CAAC,MAAM;QAC1D,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE,UAAU;QAClB,eAAe,EAAE,kBAAkB;KACpC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC;oBACb,EAAE,EAAE,IAAI;oBACR,qBAAqB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC7D,YAAY,EAAE,kBAAkB,CAAC,IAAI;oBACrC,kBAAkB,EAAE,kBAAkB,CAAC,KAAK;oBAC5C,sBAAsB,EAAE,kBAAkB,CAAC,SAAS;oBACpD,OAAO,EAAE,cAAc,CAAC,IAAI;oBAC5B,aAAa,EAAE,cAAc,CAAC,KAAK;oBACnC,iBAAiB,EAAE,cAAc,CAAC,SAAS;oBAC3C,cAAc,EAAE,aAAa;oBAC7B,YAAY,EAAE,mBAAmB,CAAC,IAAI;oBACtC,kBAAkB,EAAE,mBAAmB,CAAC,KAAK;oBAC7C,sBAAsB,EAAE,mBAAmB,CAAC,SAAS;oBACrD,iBAAiB,EAAE,uBAAuB,CAAC,IAAI;oBAC/C,uBAAuB,EAAE,uBAAuB,CAAC,KAAK;oBACtD,2BAA2B,EAAE,uBAAuB,CAAC,SAAS;oBAC9D,0BAA0B,EAAE,gBAAgB,CAAC,IAAI;oBACjD,gCAAgC,EAAE,gBAAgB,CAAC,KAAK;oBACxD,oCAAoC,EAAE,gBAAgB,CAAC,SAAS;oBAChE,mBAAmB,EAAE,oBAAoB,CAAC,KAAK;oBAC/C,qBAAqB,EAAE,IAAI,CAAC,oBAAoB;oBAChD,aAAa,EAAE,YAAY;oBAC3B,MAAM,EAAE,UAAU;oBAClB,eAAe,EAAE,kBAAkB;oBACnC,oBAAoB,EAAE,eAAe,CAAC,IAAI;oBAC1C,0BAA0B,EAAE,eAAe,CAAC,KAAK;oBACjD,8BAA8B,EAAE,eAAe,CAAC,SAAS;iBAC1D,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3D,MAAM,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,wBAAwB,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAI9C,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAClC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;IAC9C,MAAM,oBAAoB,GAAG;QAC3B,GAAG,wBAAwB,CAAC,OAAO,CAAC;QACpC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpG,CAAC;IAEF,WAAW,CAAC,qBAAqB,EAAE;QACjC,KAAK;QACL,MAAM;QACN,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,SAAS;QACT,oBAAoB,EAAE,oBAAoB,CAAC,MAAM;KAClD,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC;oBACb,EAAE,EAAE,IAAI;oBACR,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,SAAS;oBACT,OAAO;oBACP,sBAAsB,EAAE;wBACtB,cAAc,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;wBAC1C,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;qBACtC;oBACD,oBAAoB;iBACrB,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAgC,EAChC,OAA2B;IAE3B,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,wBAAwB,EAAE,CAAC;IAE3B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,uCAAuC,EAAE,CAAC;YAC/D,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sDAAsD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;aACvI,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC;wBACb,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,sFAAsF;wBAC7F,YAAY,EAAE,UAAU,CAAC,YAAY;qBACtC,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,qCAAqC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,QAAQ,uBAAuB,EAAE,CAAC,EAAE,CAAC;aAClH,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;SAC/H,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACtG,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
+ import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
3
  import type { ToolHandlerContext } from "./tool-handlers/context.js";
3
4
  export type { ToolHandlerContext } from "./tool-handlers/context.js";
5
+ export declare function enqueueToolCall<T>(task: () => Promise<T>): Promise<T>;
6
+ export declare function boundToolResult(toolName: string, result: CallToolResult): CallToolResult;
7
+ export declare function shouldRunAutoMaintenanceForTool(toolName: string): boolean;
4
8
  export declare function registerToolHandlers(server: Server, context: ToolHandlerContext): void;
@@ -1,5 +1,6 @@
1
1
  import { CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { handleStartRequirement, handlePreflightChangeScope, handleSyncChangeIntent, handleGetPendingChanges, handleCompleteRequirement } from "./tool-handlers/requirements.js";
3
+ import { handleGetRequirementStatus, handleResumeRequirement, handleUpdateRequirementVerification } from "./tool-handlers/requirement-status.js";
3
4
  import { handlePruneIndex, handleMaintainMemory } from "./tool-handlers/maintenance.js";
4
5
  import { handlePlanLargeFileSplit, handleRecordLargeFileSplit } from "./tool-handlers/large-files.js";
5
6
  import { handleBootstrapContext, handleGetBrainDump, handleReadMemoryItem, handleSemanticSearch } from "./tool-handlers/memory.js";
@@ -9,9 +10,13 @@ import { handleGetActivityLog, handleGetActivitySummary, handleClearActivityLog,
9
10
  import { handleCreateCheckpoint, handleListCheckpoints, handleMemoryTimeline, handleRestoreCheckpointContext } from "./tool-handlers/context-recovery.js";
10
11
  import { handleAnalyzeMemoryConflicts, handleCompareCheckpointContext, handleMemoryQualityReport } from "./tool-handlers/memory-diagnostics.js";
11
12
  import { handlePreflightOperationScope } from "./tool-handlers/operations.js";
13
+ import { runAutoMaintenanceIfDue, withAutoMaintenanceSuppressed } from "./memory-maintenance/runner.js";
14
+ import { isToolReadOnly } from "./tool-catalog.js";
12
15
  import { oneLine, toolJson } from "./tool-output.js";
13
16
  const TOOL_HANDLERS = {
14
17
  start_requirement: handleStartRequirement,
18
+ get_requirement_status: handleGetRequirementStatus,
19
+ resume_requirement: handleResumeRequirement,
15
20
  prune_index: handlePruneIndex,
16
21
  maintain_memory: handleMaintainMemory,
17
22
  preflight_change_scope: handlePreflightChangeScope,
@@ -19,6 +24,7 @@ const TOOL_HANDLERS = {
19
24
  plan_large_file_split: handlePlanLargeFileSplit,
20
25
  record_large_file_split: handleRecordLargeFileSplit,
21
26
  sync_change_intent: handleSyncChangeIntent,
27
+ update_requirement_verification: handleUpdateRequirementVerification,
22
28
  bootstrap_context: handleBootstrapContext,
23
29
  get_brain_dump: handleGetBrainDump,
24
30
  get_pending_changes: handleGetPendingChanges,
@@ -50,6 +56,12 @@ const TOOL_HANDLERS = {
50
56
  memory_quality_report: handleMemoryQualityReport,
51
57
  compare_checkpoint_context: handleCompareCheckpointContext,
52
58
  };
59
+ let toolCallQueue = Promise.resolve();
60
+ export function enqueueToolCall(task) {
61
+ const result = toolCallQueue.then(task, task);
62
+ toolCallQueue = result.then(() => undefined, () => undefined);
63
+ return result;
64
+ }
53
65
  function attachProjectContextAdvisory(result, advisory) {
54
66
  if (!advisory)
55
67
  return result;
@@ -80,28 +92,449 @@ function attachProjectContextAdvisory(result, advisory) {
80
92
  });
81
93
  return { ...result, content };
82
94
  }
95
+ function firstTextContent(result) {
96
+ const item = result.content?.find((content) => content.type === "text");
97
+ return item?.type === "text" && typeof item.text === "string" ? item.text : "";
98
+ }
99
+ function maxToolOutputChars() {
100
+ const configured = Number(process.env.VECTORMIND_MAX_TOOL_OUTPUT_CHARS ?? 100_000);
101
+ return Number.isFinite(configured) ? Math.max(4_000, Math.min(500_000, Math.trunc(configured))) : 100_000;
102
+ }
103
+ const BOUNDED_RESULT_KEYS = [
104
+ "project_root",
105
+ "db_path",
106
+ "requirement_id",
107
+ "req_id",
108
+ "goal_key",
109
+ "change_log_id",
110
+ "memory_id",
111
+ "plan_id",
112
+ "checkpoint_id",
113
+ "status",
114
+ "safe_to_edit",
115
+ "safe_to_proceed",
116
+ "read_only",
117
+ "dry_run",
118
+ "total",
119
+ "count",
120
+ "file_count",
121
+ ];
122
+ const BOUNDED_NESTED_IDENTITY_KEYS = new Set([
123
+ "id",
124
+ "title",
125
+ "name",
126
+ "key",
127
+ "kind",
128
+ "status",
129
+ "file_count",
130
+ "total",
131
+ "count",
132
+ ]);
133
+ function boundedNestedIdentities(parsed) {
134
+ if (!parsed)
135
+ return {};
136
+ const result = {};
137
+ for (const [containerKey, containerValue] of Object.entries(parsed)) {
138
+ if (!containerValue || typeof containerValue !== "object" || Array.isArray(containerValue))
139
+ continue;
140
+ const identity = {};
141
+ for (const [key, value] of Object.entries(containerValue)) {
142
+ const preserveKey = BOUNDED_NESTED_IDENTITY_KEYS.has(key) || key.endsWith("_id");
143
+ if (!preserveKey)
144
+ continue;
145
+ if (typeof value === "string")
146
+ identity[key] = oneLine(value, 240);
147
+ else if (typeof value === "number" || typeof value === "boolean" || value === null)
148
+ identity[key] = value;
149
+ }
150
+ if (Object.keys(identity).length)
151
+ result[containerKey] = identity;
152
+ }
153
+ return result;
154
+ }
155
+ function boundedStructuredSummary(toolName, parsedValue, originalChars, limit, failed) {
156
+ const parsed = parsedValue && typeof parsedValue === "object" && !Array.isArray(parsedValue)
157
+ ? parsedValue
158
+ : null;
159
+ const preserved = {};
160
+ for (const key of BOUNDED_RESULT_KEYS) {
161
+ const value = parsed?.[key];
162
+ if (typeof value === "string")
163
+ preserved[key] = oneLine(value, 240);
164
+ else if (typeof value === "number" || typeof value === "boolean" || value === null)
165
+ preserved[key] = value;
166
+ }
167
+ const resultShape = Array.isArray(parsedValue)
168
+ ? { result_type: "array", result_items: parsedValue.length }
169
+ : { result_type: parsed ? "object" : typeof parsedValue };
170
+ const common = {
171
+ ok: !failed,
172
+ tool: toolName,
173
+ output_truncated: true,
174
+ original_chars: originalChars,
175
+ max_output_chars: limit,
176
+ ...resultShape,
177
+ ...(parsed ? { result_keys: Object.keys(parsed).slice(0, 40) } : {}),
178
+ ...preserved,
179
+ ...boundedNestedIdentities(parsed),
180
+ };
181
+ if (!failed) {
182
+ return {
183
+ ...common,
184
+ summary: "The tool completed successfully, but its structured result exceeded the configured output budget. Narrow the query or use pagination for full details.",
185
+ };
186
+ }
187
+ const originalError = typeof parsed?.error === "string"
188
+ ? parsed.error
189
+ : typeof parsed?.message === "string"
190
+ ? parsed.message
191
+ : "The structured tool result failed and exceeded the configured output budget.";
192
+ return {
193
+ ...common,
194
+ error: oneLine(originalError, 800),
195
+ };
196
+ }
197
+ export function boundToolResult(toolName, result) {
198
+ const limit = maxToolOutputChars();
199
+ let failedStructuredTruncated = false;
200
+ const content = result.content?.map((item) => {
201
+ if (item.type !== "text" || typeof item.text !== "string" || item.text.length <= limit)
202
+ return item;
203
+ const originalChars = item.text.length;
204
+ const trimmed = item.text.trim();
205
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
206
+ let parsedValue = null;
207
+ let parsedSuccessfully = false;
208
+ try {
209
+ parsedValue = JSON.parse(trimmed);
210
+ parsedSuccessfully = true;
211
+ }
212
+ catch {
213
+ parsedValue = null;
214
+ }
215
+ const parsed = parsedValue && typeof parsedValue === "object" && !Array.isArray(parsedValue)
216
+ ? parsedValue
217
+ : null;
218
+ const failed = result.isError === true || !parsedSuccessfully || parsed?.ok === false;
219
+ if (failed)
220
+ failedStructuredTruncated = true;
221
+ return {
222
+ ...item,
223
+ text: toolJson(boundedStructuredSummary(toolName, parsedValue, originalChars, limit, failed)),
224
+ };
225
+ }
226
+ const suffix = "\noutput budget: truncated; narrow the query or use pagination";
227
+ return { ...item, text: `${item.text.slice(0, Math.max(0, limit - suffix.length)).trimEnd()}${suffix}` };
228
+ });
229
+ return { ...result, ...(failedStructuredTruncated ? { isError: true } : {}), content };
230
+ }
231
+ export function shouldRunAutoMaintenanceForTool(toolName) {
232
+ return toolName !== "maintain_memory" && !isToolReadOnly(toolName);
233
+ }
234
+ function persistMcpToolMetric(toolName, durationMs, rawResult, finalResult, context) {
235
+ try {
236
+ if (["0", "false", "off", "no"].includes((process.env.VECTORMIND_METRICS ?? "").trim().toLowerCase()))
237
+ return;
238
+ const stmt = context.getStatements().insertMcpToolMetricStmt;
239
+ if (!stmt)
240
+ return;
241
+ stmt.run(toolName, durationMs, firstTextContent(rawResult).length, firstTextContent(finalResult).length, finalResult.isError ? 1 : 0, context.getRootSource());
242
+ }
243
+ catch {
244
+ // Metrics must never affect the original MCP result.
245
+ }
246
+ }
247
+ function parseJsonToolOutput(result) {
248
+ const text = firstTextContent(result).trim();
249
+ if (!text.startsWith("{"))
250
+ return null;
251
+ try {
252
+ const parsed = JSON.parse(text);
253
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
254
+ }
255
+ catch {
256
+ return null;
257
+ }
258
+ }
259
+ function warningCode(warning) {
260
+ if (!warning || typeof warning !== "object" || Array.isArray(warning))
261
+ return "";
262
+ const code = warning.code;
263
+ return typeof code === "string" ? code : "";
264
+ }
265
+ function warningMessage(warning) {
266
+ if (!warning || typeof warning !== "object" || Array.isArray(warning))
267
+ return "";
268
+ const record = warning;
269
+ for (const key of ["message", "detail", "title", "reason"]) {
270
+ const value = record[key];
271
+ if (typeof value === "string" && value.length > 0)
272
+ return value;
273
+ }
274
+ const code = warningCode(warning);
275
+ return code || "MCP guard warning";
276
+ }
277
+ function eventForWarningCode(code) {
278
+ switch (code) {
279
+ case "huge_file_modularization_required":
280
+ return {
281
+ eventType: "blocked_large_file",
282
+ severity: "critical",
283
+ title: "阻止大文件直接修改,要求先拆模块",
284
+ };
285
+ case "very_large_file":
286
+ case "large_file":
287
+ case "large_file_read":
288
+ return {
289
+ eventType: "large_file_guard",
290
+ severity: "warn",
291
+ title: "提醒大文件风险,避免继续堆叠实现",
292
+ };
293
+ case "scope_drift":
294
+ return {
295
+ eventType: "scope_drift_guard",
296
+ severity: "warn",
297
+ title: "发现需求范围漂移,提醒收窄改动",
298
+ };
299
+ case "requirement_mapping_missing":
300
+ return {
301
+ eventType: "requirement_mapping_guard",
302
+ severity: "warn",
303
+ title: "提示未映射到需求项的改动",
304
+ };
305
+ case "scope_contract_missing":
306
+ return {
307
+ eventType: "scope_contract_guard",
308
+ severity: "warn",
309
+ title: "缺少需求范围契约,提示确认改动边界",
310
+ };
311
+ case "cross_project_path":
312
+ return {
313
+ eventType: "cross_project_guard",
314
+ severity: "warn",
315
+ title: "发现跨项目路径引用,提醒隔离上下文",
316
+ };
317
+ default:
318
+ return {
319
+ eventType: code ? `development_warning:${code}` : "development_warning",
320
+ severity: "info",
321
+ title: code ? `MCP 开发防护提示:${code}` : "MCP 开发防护提示",
322
+ };
323
+ }
324
+ }
325
+ function normalizedGuardSeverity(value, fallback = "info") {
326
+ if (value === "critical" || value === "warn" || value === "info")
327
+ return value;
328
+ if (value === "warning")
329
+ return "warn";
330
+ if (value === "blocker" || value === "error")
331
+ return "critical";
332
+ return fallback;
333
+ }
334
+ function eventForOperationWarningCode(code) {
335
+ const title = code === "stale_default_conflict"
336
+ ? "发现过期默认操作,阻止继续执行"
337
+ : code === "operation_constraint_conflict"
338
+ ? "发现操作约束冲突,阻止继续执行"
339
+ : `MCP 操作防护提示:${code}`;
340
+ return {
341
+ eventType: `operation_guard:${code}`,
342
+ severity: "warn",
343
+ title,
344
+ };
345
+ }
346
+ function parseCompactToolOutputEvents(toolName, text) {
347
+ const events = [];
348
+ const lines = text.split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
349
+ if (!lines.length)
350
+ return events;
351
+ const hasDevelopmentWarnings = lines.some((line) => /^development warnings:$/i.test(line));
352
+ const hasOperationWarnings = lines.some((line) => /^operation warnings:$/i.test(line));
353
+ const header = lines[0] ?? "";
354
+ const okMatch = /\bok=(true|false)\b/.exec(header);
355
+ const safeToEditMatch = /\bsafe_to_edit=(true|false)\b/.exec(header);
356
+ const safeToProceedMatch = /\bsafe_to_proceed=(true|false)\b/.exec(header);
357
+ const compactState = {
358
+ ok: okMatch ? okMatch[1] === "true" : undefined,
359
+ safe_to_edit: safeToEditMatch ? safeToEditMatch[1] === "true" : undefined,
360
+ safe_to_proceed: safeToProceedMatch ? safeToProceedMatch[1] === "true" : undefined,
361
+ };
362
+ for (const line of lines) {
363
+ const advisory = /^project_context_advisory\s+([^:\s]+):\s*(.*)$/i.exec(line);
364
+ if (advisory) {
365
+ events.push({
366
+ eventType: "cross_project_reference",
367
+ severity: "info",
368
+ title: "识别跨项目上下文,只作为只读参考",
369
+ detail: advisory[2] || "MCP 检测到 project_root 切换或跨项目引用,提醒不要把外部项目当作当前需求范围。",
370
+ metadata: {
371
+ tool_name: toolName,
372
+ compact: true,
373
+ advisory_code: advisory[1],
374
+ },
375
+ });
376
+ continue;
377
+ }
378
+ const operationWarning = /^-\s+([a-z_-]+)\s+([^:\s]+)(?:\s+[^:]*)?:\s*(.*)$/i.exec(line);
379
+ if (operationWarning && hasOperationWarnings) {
380
+ const code = operationWarning[2];
381
+ const base = eventForOperationWarningCode(code);
382
+ const lineSeverity = normalizedGuardSeverity(operationWarning[1], base.severity);
383
+ events.push({
384
+ ...base,
385
+ severity: lineSeverity,
386
+ detail: operationWarning[3] || code,
387
+ metadata: {
388
+ tool_name: toolName,
389
+ compact: true,
390
+ warning: {
391
+ code,
392
+ severity: lineSeverity,
393
+ message: operationWarning[3] || code,
394
+ },
395
+ ...compactState,
396
+ },
397
+ });
398
+ continue;
399
+ }
400
+ const warning = /^-\s+([a-z_-]+)\s+([^:\s]+):\s*(.*)$/i.exec(line);
401
+ if (warning && hasDevelopmentWarnings) {
402
+ const code = warning[2];
403
+ const base = eventForWarningCode(code);
404
+ const lineSeverity = normalizedGuardSeverity(warning[1]);
405
+ events.push({
406
+ ...base,
407
+ severity: base.severity === "info" ? lineSeverity : base.severity,
408
+ detail: warning[3] || code,
409
+ metadata: {
410
+ tool_name: toolName,
411
+ compact: true,
412
+ warning: {
413
+ code,
414
+ severity: lineSeverity,
415
+ message: warning[3] || code,
416
+ },
417
+ ...compactState,
418
+ },
419
+ });
420
+ continue;
421
+ }
422
+ }
423
+ return events;
424
+ }
425
+ function outputEventsForToolResult(toolName, result) {
426
+ const text = firstTextContent(result).trim();
427
+ const parsed = parseJsonToolOutput(result);
428
+ if (!parsed)
429
+ return parseCompactToolOutputEvents(toolName, text);
430
+ const events = [];
431
+ const developmentWarnings = Array.isArray(parsed.development_warnings) ? parsed.development_warnings : [];
432
+ for (const warning of developmentWarnings) {
433
+ const code = warningCode(warning);
434
+ const base = eventForWarningCode(code);
435
+ events.push({
436
+ ...base,
437
+ detail: warningMessage(warning),
438
+ metadata: {
439
+ tool_name: toolName,
440
+ warning,
441
+ ok: parsed.ok,
442
+ safe_to_edit: parsed.safe_to_edit,
443
+ safe_to_proceed: parsed.safe_to_proceed,
444
+ },
445
+ });
446
+ }
447
+ const operationWarnings = Array.isArray(parsed.warnings) ? parsed.warnings : [];
448
+ for (const warning of operationWarnings) {
449
+ const code = warningCode(warning);
450
+ if (!code)
451
+ continue;
452
+ const base = eventForOperationWarningCode(code);
453
+ events.push({
454
+ ...base,
455
+ detail: warningMessage(warning),
456
+ metadata: {
457
+ tool_name: toolName,
458
+ warning,
459
+ ok: parsed.ok,
460
+ safe_to_proceed: parsed.safe_to_proceed,
461
+ },
462
+ });
463
+ }
464
+ if (parsed.project_context_advisory && typeof parsed.project_context_advisory === "object") {
465
+ events.push({
466
+ eventType: "cross_project_reference",
467
+ severity: "info",
468
+ title: "识别跨项目上下文,只作为只读参考",
469
+ detail: "MCP 检测到 project_root 切换或跨项目引用,提醒不要把外部项目当作当前需求范围。",
470
+ metadata: {
471
+ tool_name: toolName,
472
+ advisory: parsed.project_context_advisory,
473
+ },
474
+ });
475
+ }
476
+ return events;
477
+ }
478
+ function persistMcpGuardEvents(toolName, result, context) {
479
+ const events = outputEventsForToolResult(toolName, result);
480
+ if (!events.length)
481
+ return;
482
+ const stmt = context.getStatements().insertMcpGuardEventStmt;
483
+ if (!stmt)
484
+ return;
485
+ try {
486
+ const db = context.getDb();
487
+ const tx = db.transaction(() => {
488
+ for (const event of events) {
489
+ stmt.run(toolName, event.eventType, event.severity, event.title, event.detail, JSON.stringify(event.metadata));
490
+ }
491
+ });
492
+ tx();
493
+ }
494
+ catch {
495
+ // Guard-event persistence must never break the original MCP tool result.
496
+ }
497
+ }
83
498
  export function registerToolHandlers(server, context) {
84
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
499
+ server.setRequestHandler(CallToolRequestSchema, (request) => enqueueToolCall(async () => {
85
500
  const toolName = request.params.name;
86
501
  const rawArgs = (request.params.arguments ?? {});
502
+ const startedAt = performance.now();
87
503
  try {
88
- await context.ensureInitializedForArgs(rawArgs);
504
+ if (isToolReadOnly(toolName)) {
505
+ await withAutoMaintenanceSuppressed(() => context.ensureInitializedForArgs(rawArgs));
506
+ }
507
+ else {
508
+ await context.ensureInitializedForArgs(rawArgs);
509
+ }
510
+ if (shouldRunAutoMaintenanceForTool(toolName))
511
+ runAutoMaintenanceIfDue();
89
512
  const handler = TOOL_HANDLERS[toolName];
90
513
  if (!handler) {
91
- return attachProjectContextAdvisory({
514
+ const rawResult = attachProjectContextAdvisory({
92
515
  isError: true,
93
516
  content: [{ type: "text", text: `Unknown tool: ${toolName}` }],
94
517
  }, context.consumeProjectContextAdvisory());
518
+ const finalResult = boundToolResult(toolName, rawResult);
519
+ persistMcpToolMetric(toolName, performance.now() - startedAt, rawResult, finalResult, context);
520
+ return finalResult;
95
521
  }
96
522
  const result = await handler(rawArgs, context);
97
- return attachProjectContextAdvisory(result, context.consumeProjectContextAdvisory());
523
+ const rawResult = attachProjectContextAdvisory(result, context.consumeProjectContextAdvisory());
524
+ const finalResult = boundToolResult(toolName, rawResult);
525
+ persistMcpGuardEvents(toolName, finalResult, context);
526
+ persistMcpToolMetric(toolName, performance.now() - startedAt, rawResult, finalResult, context);
527
+ return finalResult;
98
528
  }
99
529
  catch (err) {
100
- return attachProjectContextAdvisory({
530
+ const rawResult = attachProjectContextAdvisory({
101
531
  isError: true,
102
532
  content: [{ type: "text", text: String(err) }],
103
533
  }, context.consumeProjectContextAdvisory());
534
+ const finalResult = boundToolResult(toolName, rawResult);
535
+ persistMcpToolMetric(toolName, performance.now() - startedAt, rawResult, finalResult, context);
536
+ return finalResult;
104
537
  }
105
- });
538
+ }));
106
539
  }
107
540
  //# sourceMappingURL=tool-handlers.js.map