openplanr 3.1.1 → 3.3.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 (452) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/cli/commands/groups/delivery.d.ts.map +1 -1
  3. package/dist/cli/commands/groups/delivery.js +2 -0
  4. package/dist/cli/commands/groups/delivery.js.map +1 -1
  5. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  6. package/dist/cli/commands/planning-artifacts.js +22 -12
  7. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  8. package/dist/cli/commands/ship.d.ts +3 -0
  9. package/dist/cli/commands/ship.d.ts.map +1 -0
  10. package/dist/cli/commands/ship.js +65 -0
  11. package/dist/cli/commands/ship.js.map +1 -0
  12. package/dist/cli/commands/spec.d.ts +2 -1
  13. package/dist/cli/commands/spec.d.ts.map +1 -1
  14. package/dist/cli/commands/spec.js +45 -5
  15. package/dist/cli/commands/spec.js.map +1 -1
  16. package/dist/dashboard/.vite/manifest.json +1 -1
  17. package/dist/dashboard/assets/index-B_96uzCl.js +572 -0
  18. package/dist/dashboard/assets/index-B_96uzCl.js.map +1 -0
  19. package/dist/dashboard/dashboard-manifest.json +10 -10
  20. package/dist/dashboard/index.html +1 -1
  21. package/dist/models/schema.d.ts +39 -23
  22. package/dist/models/schema.d.ts.map +1 -1
  23. package/dist/models/schema.js +19 -12
  24. package/dist/models/schema.js.map +1 -1
  25. package/dist/models/types.d.ts +6 -0
  26. package/dist/models/types.d.ts.map +1 -1
  27. package/dist/services/claude-plugin-service.d.ts +5 -0
  28. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  29. package/dist/services/claude-plugin-service.js +18 -2
  30. package/dist/services/claude-plugin-service.js.map +1 -1
  31. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  32. package/dist/services/codex-plugin-service.js +11 -3
  33. package/dist/services/codex-plugin-service.js.map +1 -1
  34. package/dist/services/id-service.d.ts +1 -5
  35. package/dist/services/id-service.d.ts.map +1 -1
  36. package/dist/services/id-service.js +1 -34
  37. package/dist/services/id-service.js.map +1 -1
  38. package/dist/services/runtime-manager/codex-discovery.d.ts +1 -3
  39. package/dist/services/runtime-manager/codex-discovery.d.ts.map +1 -1
  40. package/dist/services/runtime-manager/codex-discovery.js +3 -16
  41. package/dist/services/runtime-manager/codex-discovery.js.map +1 -1
  42. package/dist/services/runtime-manager/doctor.d.ts +25 -0
  43. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  44. package/dist/services/runtime-manager/doctor.js +480 -0
  45. package/dist/services/runtime-manager/doctor.js.map +1 -1
  46. package/dist/services/runtime-manager/errors.d.ts +12 -0
  47. package/dist/services/runtime-manager/errors.d.ts.map +1 -0
  48. package/dist/services/runtime-manager/errors.js +14 -0
  49. package/dist/services/runtime-manager/errors.js.map +1 -0
  50. package/dist/services/runtime-manager/global-state.d.ts +7 -0
  51. package/dist/services/runtime-manager/global-state.d.ts.map +1 -1
  52. package/dist/services/runtime-manager/global-state.js +116 -0
  53. package/dist/services/runtime-manager/global-state.js.map +1 -1
  54. package/dist/services/runtime-manager/host-version-probe.d.ts +8 -0
  55. package/dist/services/runtime-manager/host-version-probe.d.ts.map +1 -0
  56. package/dist/services/runtime-manager/host-version-probe.js +14 -0
  57. package/dist/services/runtime-manager/host-version-probe.js.map +1 -0
  58. package/dist/services/runtime-manager/install-plan.d.ts +25 -0
  59. package/dist/services/runtime-manager/install-plan.d.ts.map +1 -1
  60. package/dist/services/runtime-manager/install-plan.js +305 -0
  61. package/dist/services/runtime-manager/install-plan.js.map +1 -1
  62. package/dist/services/runtime-manager/inventory.d.ts +6 -0
  63. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  64. package/dist/services/runtime-manager/inventory.js +16 -1
  65. package/dist/services/runtime-manager/inventory.js.map +1 -1
  66. package/dist/services/runtime-manager/legacy-adapters.d.ts +9 -0
  67. package/dist/services/runtime-manager/legacy-adapters.d.ts.map +1 -0
  68. package/dist/services/runtime-manager/legacy-adapters.js +187 -0
  69. package/dist/services/runtime-manager/legacy-adapters.js.map +1 -0
  70. package/dist/services/runtime-manager/paths.d.ts +18 -0
  71. package/dist/services/runtime-manager/paths.d.ts.map +1 -0
  72. package/dist/services/runtime-manager/paths.js +83 -0
  73. package/dist/services/runtime-manager/paths.js.map +1 -0
  74. package/dist/services/runtime-manager/runtime-package.d.ts +21 -0
  75. package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
  76. package/dist/services/runtime-manager/runtime-package.js +77 -0
  77. package/dist/services/runtime-manager/runtime-package.js.map +1 -1
  78. package/dist/services/runtime-manager/storage.d.ts +47 -0
  79. package/dist/services/runtime-manager/storage.d.ts.map +1 -0
  80. package/dist/services/runtime-manager/storage.js +604 -0
  81. package/dist/services/runtime-manager/storage.js.map +1 -0
  82. package/dist/services/runtime-manager-service.d.ts +7 -17
  83. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  84. package/dist/services/runtime-manager-service.js +32 -1695
  85. package/dist/services/runtime-manager-service.js.map +1 -1
  86. package/dist/services/ship-checks/changes.d.ts +24 -0
  87. package/dist/services/ship-checks/changes.d.ts.map +1 -0
  88. package/dist/services/ship-checks/changes.js +135 -0
  89. package/dist/services/ship-checks/changes.js.map +1 -0
  90. package/dist/services/ship-checks/contract.d.ts +93 -0
  91. package/dist/services/ship-checks/contract.d.ts.map +1 -0
  92. package/dist/services/ship-checks/contract.js +7 -0
  93. package/dist/services/ship-checks/contract.js.map +1 -0
  94. package/dist/services/ship-checks/coverage.d.ts +4 -0
  95. package/dist/services/ship-checks/coverage.d.ts.map +1 -0
  96. package/dist/services/ship-checks/coverage.js +113 -0
  97. package/dist/services/ship-checks/coverage.js.map +1 -0
  98. package/dist/services/ship-checks/discover.d.ts +10 -0
  99. package/dist/services/ship-checks/discover.d.ts.map +1 -0
  100. package/dist/services/ship-checks/discover.js +253 -0
  101. package/dist/services/ship-checks/discover.js.map +1 -0
  102. package/dist/services/ship-checks/glob.d.ts +5 -0
  103. package/dist/services/ship-checks/glob.d.ts.map +1 -0
  104. package/dist/services/ship-checks/glob.js +39 -0
  105. package/dist/services/ship-checks/glob.js.map +1 -0
  106. package/dist/services/ship-checks/hooks.d.ts +7 -0
  107. package/dist/services/ship-checks/hooks.d.ts.map +1 -0
  108. package/dist/services/ship-checks/hooks.js +65 -0
  109. package/dist/services/ship-checks/hooks.js.map +1 -0
  110. package/dist/services/ship-checks/packages.d.ts +29 -0
  111. package/dist/services/ship-checks/packages.d.ts.map +1 -0
  112. package/dist/services/ship-checks/packages.js +197 -0
  113. package/dist/services/ship-checks/packages.js.map +1 -0
  114. package/dist/services/ship-checks/related-tests.d.ts +13 -0
  115. package/dist/services/ship-checks/related-tests.d.ts.map +1 -0
  116. package/dist/services/ship-checks/related-tests.js +73 -0
  117. package/dist/services/ship-checks/related-tests.js.map +1 -0
  118. package/dist/services/ship-checks/scope.d.ts +8 -0
  119. package/dist/services/ship-checks/scope.d.ts.map +1 -0
  120. package/dist/services/ship-checks/scope.js +66 -0
  121. package/dist/services/ship-checks/scope.js.map +1 -0
  122. package/dist/services/ship-checks/task-requirements.d.ts +14 -0
  123. package/dist/services/ship-checks/task-requirements.d.ts.map +1 -0
  124. package/dist/services/ship-checks/task-requirements.js +145 -0
  125. package/dist/services/ship-checks/task-requirements.js.map +1 -0
  126. package/dist/services/ship-checks/workflows.d.ts +21 -0
  127. package/dist/services/ship-checks/workflows.d.ts.map +1 -0
  128. package/dist/services/ship-checks/workflows.js +208 -0
  129. package/dist/services/ship-checks/workflows.js.map +1 -0
  130. package/dist/services/spec-service.d.ts +18 -0
  131. package/dist/services/spec-service.d.ts.map +1 -1
  132. package/dist/services/spec-service.js +174 -9
  133. package/dist/services/spec-service.js.map +1 -1
  134. package/dist/services/template-service.d.ts +2 -0
  135. package/dist/services/template-service.d.ts.map +1 -1
  136. package/dist/services/template-service.js +4 -0
  137. package/dist/services/template-service.js.map +1 -1
  138. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  139. package/dist/templates/spec/spec.md.hbs +2 -2
  140. package/dist/utils/slugify.d.ts +1 -8
  141. package/dist/utils/slugify.d.ts.map +1 -1
  142. package/dist/utils/slugify.js +1 -25
  143. package/dist/utils/slugify.js.map +1 -1
  144. package/docs/CLI.md +96 -2
  145. package/lib/backlog-item.d.mts +49 -0
  146. package/lib/backlog-item.mjs +339 -0
  147. package/lib/host-packages/adapter-registry.json +5 -5
  148. package/lib/host-packages/capability-map.json +3 -3
  149. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  150. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  151. package/lib/host-packages/claude/openplanr/.openplanr-content.json +134 -94
  152. package/lib/host-packages/claude/openplanr/CONNECTORS.md +4 -6
  153. package/lib/host-packages/claude/openplanr/README.md +1 -1
  154. package/lib/host-packages/claude/openplanr/agents/planr-qa.md +5 -3
  155. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  156. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  157. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +471 -80
  158. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +2 -2
  159. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  160. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  161. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → claude/openplanr/runtime/design/scripts/design-runtime-support-25485dbf1cb2.mjs} +1 -1
  162. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  163. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +138 -12
  164. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  165. package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-shared-protocol-contracts-31a760fc.mjs → design-shared-protocol-contracts-b5f28f94.mjs} +413 -45
  166. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  167. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +482 -79
  168. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  169. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  170. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +322 -45
  171. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  172. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  173. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  174. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  175. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  176. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  177. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +165 -276
  178. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  179. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  180. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  181. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  182. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  183. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  184. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +119 -244
  185. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  186. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  187. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +285 -0
  188. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2773 -0
  189. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  190. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2207 -0
  191. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  192. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  193. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  194. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  195. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  196. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1597 -0
  197. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  198. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  199. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +207 -7
  200. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  201. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +324 -45
  202. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +73 -12
  203. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  204. package/lib/host-packages/claude/openplanr/skills/connect/references/connectors.md +4 -6
  205. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +12 -0
  206. package/lib/host-packages/claude/openplanr/skills/design/references/craft.md +14 -3
  207. package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +48 -1
  208. package/lib/host-packages/claude/openplanr/skills/design/references/discovery.md +18 -4
  209. package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +133 -2
  210. package/lib/host-packages/claude/openplanr/skills/design/references/hosted-canvas.md +62 -0
  211. package/lib/host-packages/claude/openplanr/skills/design/references/review.md +46 -1
  212. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +17 -1
  213. package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +207 -7
  214. package/lib/host-packages/claude/openplanr/skills/design-loop/references/craft.md +14 -3
  215. package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +48 -1
  216. package/lib/host-packages/claude/openplanr/skills/design-loop/references/discovery.md +18 -4
  217. package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +133 -2
  218. package/lib/host-packages/claude/openplanr/skills/design-loop/references/review.md +46 -1
  219. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +17 -1
  220. package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +207 -7
  221. package/lib/host-packages/claude/openplanr/skills/design-review/references/craft.md +14 -3
  222. package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +48 -1
  223. package/lib/host-packages/claude/openplanr/skills/design-review/references/discovery.md +18 -4
  224. package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +133 -2
  225. package/lib/host-packages/claude/openplanr/skills/design-review/references/review.md +46 -1
  226. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +17 -1
  227. package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +207 -7
  228. package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +11 -2
  229. package/lib/host-packages/claude/openplanr/skills/investigate/references/findings.md +92 -0
  230. package/lib/host-packages/claude/openplanr/skills/investigate/scripts/backlog-item.mjs +339 -0
  231. package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +24 -11
  232. package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +207 -7
  233. package/lib/host-packages/claude/openplanr/skills/share/references/connectors.md +4 -6
  234. package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +46 -14
  235. package/lib/host-packages/claude/openplanr/skills/ship/references/findings.md +92 -0
  236. package/lib/host-packages/claude/openplanr/skills/ship/references/result-contract.md +3 -1
  237. package/lib/host-packages/claude/openplanr/skills/ship/scripts/backlog-item.mjs +339 -0
  238. package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +6 -0
  239. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +3 -1
  240. package/lib/host-packages/claude/openplanr/skills/sprint/references/connectors.md +4 -6
  241. package/lib/host-packages/claude/openplanr/skills/status/references/connectors.md +4 -6
  242. package/lib/host-packages/claude/openplanr/skills/sync/references/connectors.md +4 -6
  243. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +132 -92
  244. package/lib/host-packages/cursor/openplanr/CONNECTORS.md +4 -6
  245. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  246. package/lib/host-packages/cursor/openplanr/rules/planr-connect/references/connectors.md +4 -6
  247. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/craft.md +14 -3
  248. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +48 -1
  249. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/discovery.md +18 -4
  250. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +133 -2
  251. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/hosted-canvas.md +62 -0
  252. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/review.md +46 -1
  253. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +17 -1
  254. package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +207 -7
  255. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/craft.md +14 -3
  256. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +48 -1
  257. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/discovery.md +18 -4
  258. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +133 -2
  259. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/review.md +46 -1
  260. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +17 -1
  261. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +207 -7
  262. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/craft.md +14 -3
  263. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +48 -1
  264. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/discovery.md +18 -4
  265. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +133 -2
  266. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/review.md +46 -1
  267. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +17 -1
  268. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +207 -7
  269. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +12 -0
  270. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/findings.md +92 -0
  271. package/lib/host-packages/cursor/openplanr/rules/planr-investigate/scripts/backlog-item.mjs +339 -0
  272. package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +11 -2
  273. package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +207 -7
  274. package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +24 -11
  275. package/lib/host-packages/cursor/openplanr/rules/planr-share/references/connectors.md +4 -6
  276. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/findings.md +92 -0
  277. package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/result-contract.md +3 -1
  278. package/lib/host-packages/cursor/openplanr/rules/planr-ship/scripts/backlog-item.mjs +339 -0
  279. package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +46 -14
  280. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +3 -1
  281. package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +6 -0
  282. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/connectors.md +4 -6
  283. package/lib/host-packages/cursor/openplanr/rules/planr-status/references/connectors.md +4 -6
  284. package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/connectors.md +4 -6
  285. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  286. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  287. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +471 -80
  288. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +2 -2
  289. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  290. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  291. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → cursor/openplanr/runtime/design/scripts/design-runtime-support-25485dbf1cb2.mjs} +1 -1
  292. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  293. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +138 -12
  294. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  295. package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs → cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs} +413 -45
  296. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  297. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +482 -79
  298. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  299. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  300. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +322 -45
  301. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  302. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  303. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  304. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  305. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  306. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  307. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +165 -276
  308. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  309. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  310. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  311. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  312. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  313. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  314. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +119 -244
  315. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  316. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  317. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +285 -0
  318. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2773 -0
  319. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  320. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2207 -0
  321. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  322. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  323. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  324. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  325. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  326. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1597 -0
  327. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  328. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  329. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +207 -7
  330. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  331. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +324 -45
  332. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +73 -12
  333. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  334. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  335. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  336. package/lib/host-packages/openai/openplanr/.openplanr-content.json +139 -99
  337. package/lib/host-packages/openai/openplanr/CONNECTORS.md +4 -6
  338. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-artifact-shell.mjs +1 -1
  339. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +1 -1
  340. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +471 -80
  341. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +2 -2
  342. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-resource-pack.mjs +1 -1
  343. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +45 -4
  344. package/lib/host-packages/{claude/openplanr/runtime/design/scripts/design-runtime-support-e34c388a8e59.mjs → openai/openplanr/runtime/design/scripts/design-runtime-support-25485dbf1cb2.mjs} +1 -1
  345. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +8 -5
  346. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +138 -12
  347. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs +1 -1
  348. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-31a760fc.mjs → openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs} +413 -45
  349. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-upload-spool.mjs +1 -1
  350. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +482 -79
  351. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -32
  352. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +23 -23
  353. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +322 -45
  354. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +12 -12
  355. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +47 -14
  356. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +11 -10
  357. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -3
  358. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +16 -11
  359. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/01-module-runtime.js +7 -11
  360. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +165 -276
  361. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/03-react-dom-client-fiber-foundations.js +494 -967
  362. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/04-react-dom-client-reconciliation-hooks.js +346 -678
  363. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/05-react-dom-client-render-phases.js +382 -810
  364. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/06-react-dom-client-commit-effects.js +406 -730
  365. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/07-react-dom-client-work-loop-scheduling.js +259 -522
  366. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/08-react-dom-client-dom-events-properties-hydration.js +585 -937
  367. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +119 -244
  368. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/10-react.js +7 -17
  369. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/11-artifact-review-ui.js +3 -4
  370. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +285 -0
  371. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +2773 -0
  372. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-studio-shell.js +134 -0
  373. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +2207 -0
  374. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/16-design-review-experience.js +16 -0
  375. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-studio-shell.js +8 -0
  376. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/18-interface-primitives.js +3883 -0
  377. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/19-interface-primitives.js +966 -0
  378. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/{16-studio-shell.js → 20-studio-shell.js} +122 -227
  379. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +1597 -0
  380. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +101 -47
  381. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
  382. package/lib/host-packages/{cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +207 -7
  383. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
  384. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +324 -45
  385. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +73 -12
  386. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
  387. package/lib/host-packages/openai/openplanr/skills/connect/references/connectors.md +4 -6
  388. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +12 -0
  389. package/lib/host-packages/openai/openplanr/skills/design/openplanr.skill.json +11 -0
  390. package/lib/host-packages/openai/openplanr/skills/design/references/craft.md +14 -3
  391. package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +48 -1
  392. package/lib/host-packages/openai/openplanr/skills/design/references/discovery.md +18 -4
  393. package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +133 -2
  394. package/lib/host-packages/openai/openplanr/skills/design/references/hosted-canvas.md +62 -0
  395. package/lib/host-packages/openai/openplanr/skills/design/references/review.md +46 -1
  396. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +17 -1
  397. package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +207 -7
  398. package/lib/host-packages/openai/openplanr/skills/design-loop/references/craft.md +14 -3
  399. package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +48 -1
  400. package/lib/host-packages/openai/openplanr/skills/design-loop/references/discovery.md +18 -4
  401. package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +133 -2
  402. package/lib/host-packages/openai/openplanr/skills/design-loop/references/review.md +46 -1
  403. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +17 -1
  404. package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +207 -7
  405. package/lib/host-packages/openai/openplanr/skills/design-review/references/craft.md +14 -3
  406. package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +48 -1
  407. package/lib/host-packages/openai/openplanr/skills/design-review/references/discovery.md +18 -4
  408. package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +133 -2
  409. package/lib/host-packages/openai/openplanr/skills/design-review/references/review.md +46 -1
  410. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +17 -1
  411. package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +207 -7
  412. package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +11 -2
  413. package/lib/host-packages/openai/openplanr/skills/investigate/agents/openai.yaml +1 -1
  414. package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +23 -1
  415. package/lib/host-packages/openai/openplanr/skills/investigate/references/findings.md +92 -0
  416. package/lib/host-packages/openai/openplanr/skills/investigate/scripts/backlog-item.mjs +339 -0
  417. package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +24 -11
  418. package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +1 -1
  419. package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +207 -7
  420. package/lib/host-packages/openai/openplanr/skills/share/references/connectors.md +4 -6
  421. package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +46 -14
  422. package/lib/host-packages/openai/openplanr/skills/ship/agents/openai.yaml +1 -1
  423. package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +23 -1
  424. package/lib/host-packages/openai/openplanr/skills/ship/references/findings.md +92 -0
  425. package/lib/host-packages/openai/openplanr/skills/ship/references/result-contract.md +3 -1
  426. package/lib/host-packages/openai/openplanr/skills/ship/scripts/backlog-item.mjs +339 -0
  427. package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +6 -0
  428. package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +1 -1
  429. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +3 -1
  430. package/lib/host-packages/openai/openplanr/skills/sprint/references/connectors.md +4 -6
  431. package/lib/host-packages/openai/openplanr/skills/status/references/connectors.md +4 -6
  432. package/lib/host-packages/openai/openplanr/skills/sync/references/connectors.md +4 -6
  433. package/lib/json-schema.mjs +4 -0
  434. package/package.json +13 -13
  435. package/dist/dashboard/assets/index-G7ygVDGg.js +0 -572
  436. package/dist/dashboard/assets/index-G7ygVDGg.js.map +0 -1
  437. package/dist/templates/backlog/backlog-item.md.hbs +0 -40
  438. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  439. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  440. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  441. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  442. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
  443. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  444. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  445. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  446. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  447. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
  448. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-design-review-experience.js +0 -3589
  449. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-studio-shell.js +0 -184
  450. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/14-interface-primitives.js +0 -5229
  451. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-interface-primitives.js +0 -1733
  452. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/17-design-studio.js +0 -1844
@@ -27,7 +27,7 @@
27
27
  * contract and record provenance so their intentional overlap stays clear.
28
28
  */
29
29
  import { randomUUID } from 'node:crypto';
30
- import { readFileSync } from 'node:fs';
30
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
31
31
  import fsPromises from 'node:fs/promises';
32
32
  import path from 'node:path';
33
33
  import { validateJson } from '../../lib/json-schema.mjs';
@@ -365,7 +365,7 @@ export async function prepareOperatingSpecDraft(projectDir, config, input) {
365
365
  functionalRequirements: input.framing.requirements,
366
366
  businessRules: list(input.framing.constraints),
367
367
  outOfScope: input.framing.nonScope,
368
- acceptanceCriteria: input.framing.acceptanceOutcomes,
368
+ acceptanceCriteria: numberedAcceptanceCriteria(input.framing.acceptanceOutcomes),
369
369
  decompositionNotes: [
370
370
  `Scope:\n${list(input.framing.scope)}`,
371
371
  input.framing.risks.length > 0 ? `Risks:\n${list(input.framing.risks)}` : '',
@@ -568,6 +568,13 @@ export async function syncAllSpecs(projectDir, config, opts = {}) {
568
568
  }
569
569
  return { specsScanned: specs.length, reports };
570
570
  }
571
+ /** Stable `AC-NNN` id for the criterion at a zero-based position. */
572
+ function acceptanceCriterionId(index) {
573
+ return `AC-${String(index + 1).padStart(3, '0')}`;
574
+ }
575
+ function numberedAcceptanceCriteria(statements) {
576
+ return statements.map((statement, index) => ({ id: acceptanceCriterionId(index), statement }));
577
+ }
571
578
  function specTaskInput(aiTask, storyId, taskIdMap, acceptanceCriteria) {
572
579
  const acceptanceRefs = [...aiTask.acceptanceRefs];
573
580
  const knownAcceptance = new Set(acceptanceCriteria.map(({ id }) => id));
@@ -667,10 +674,7 @@ async function replaceSpecWithDecomposition(config, spec, existingStories, exist
667
674
  const taskIdMap = new Map(flatTasks.map((task, index) => [task.id, allocation.T[index]]));
668
675
  for (const [storyIndex, aiStory] of decomposition.stories.entries()) {
669
676
  const storyId = allocation.US[storyIndex];
670
- const acceptanceCriteria = aiStory.acceptanceCriteria.map((statement, index) => ({
671
- id: `AC-${String(index + 1).padStart(3, '0')}`,
672
- statement,
673
- }));
677
+ const acceptanceCriteria = numberedAcceptanceCriteria(aiStory.acceptanceCriteria);
674
678
  const renderedTasks = [];
675
679
  for (const aiTask of aiStory.tasks) {
676
680
  const taskId = taskIdMap.get(aiTask.id);
@@ -1152,7 +1156,7 @@ export async function shapeSpec(projectDir, config, specId, answers) {
1152
1156
  failureModes: professional.failureModes,
1153
1157
  rollback: professional.rollback,
1154
1158
  scope: professional.scope,
1155
- acceptanceCriteria: professional.acceptanceCriteria,
1159
+ acceptanceCriteria: numberedAcceptanceCriteria(professional.acceptanceCriteria),
1156
1160
  declaredSpecialists: professional.declaredSpecialists,
1157
1161
  businessRules: professional.businessRules,
1158
1162
  decompositionNotes: professional.decompositionNotes,
@@ -1181,7 +1185,7 @@ async function renderSpecStoryContent(config, specId, id, title, body) {
1181
1185
  throw invalidDecomposition(`story ${id} title must produce a non-empty slug.`);
1182
1186
  const today = new Date().toISOString().split('T')[0];
1183
1187
  const acceptanceCriteria = (body.acceptanceCriteria ?? []).map((criterion, index) => typeof criterion === 'string'
1184
- ? { id: `AC-${String(index + 1).padStart(3, '0')}`, statement: criterion }
1188
+ ? { id: acceptanceCriterionId(index), statement: criterion }
1185
1189
  : criterion);
1186
1190
  const content = await renderTemplate('spec/story.md.hbs', {
1187
1191
  id,
@@ -1404,11 +1408,13 @@ export async function getSpecStatus(projectDir, config) {
1404
1408
  const totalTasks = specs.reduce((acc, s) => acc + s.taskCount, 0);
1405
1409
  return { specCount: specs.length, specs, totalStories, totalTasks };
1406
1410
  }
1407
- const PROFESSIONAL_SPEC_REQUIRED_SECTIONS = Object.freeze([
1411
+ /** Body headings required by the specification contract, in order. */
1412
+ export const SPEC_CONTRACT_HEADINGS = Object.freeze([
1408
1413
  'Context & Goal',
1409
1414
  'Audience',
1410
1415
  'Outcome & Measurement',
1411
1416
  'Functional Requirements',
1417
+ 'Business Rules',
1412
1418
  'Constraints',
1413
1419
  'Evidence Expectations',
1414
1420
  'Failure Modes',
@@ -1416,7 +1422,10 @@ const PROFESSIONAL_SPEC_REQUIRED_SECTIONS = Object.freeze([
1416
1422
  'Scope Boundaries',
1417
1423
  'Acceptance Criteria',
1418
1424
  'Declared Risk Specialists',
1425
+ 'Notes for Decomposition',
1419
1426
  ]);
1427
+ // Business rules and decomposition notes are optional shape answers, so promotion does not require their content.
1428
+ const PROFESSIONAL_SPEC_REQUIRED_SECTIONS = Object.freeze(SPEC_CONTRACT_HEADINGS.filter((heading) => heading !== 'Business Rules' && heading !== 'Notes for Decomposition'));
1420
1429
  function markdownSection(content, heading, level = 2) {
1421
1430
  const lines = content.split(/\r?\n/u);
1422
1431
  const prefix = '#'.repeat(level);
@@ -1534,4 +1543,160 @@ export async function validateSpecForPromotion(projectDir, config, specId) {
1534
1543
  }
1535
1544
  return { ready: issues.length === 0, issues };
1536
1545
  }
1546
+ const SCOPE_SUBHEADINGS = Object.freeze(['In Scope', 'Out of Scope']);
1547
+ const ACCEPTANCE_ID = /^AC-\d{3,}$/u;
1548
+ /** Spec frontmatter schemas projected from the Protocol, keyed by their `schemaVersion` const. */
1549
+ function supportedSpecSchemas() {
1550
+ const root = new URL('../../lib/schemas/', import.meta.url);
1551
+ const schemas = new Map();
1552
+ for (const entry of readdirSync(root, { withFileTypes: true })) {
1553
+ const file = new URL(`${entry.name}/spec.schema.json`, root);
1554
+ if (!entry.isDirectory() || !existsSync(file))
1555
+ continue;
1556
+ const schema = JSON.parse(readFileSync(file, 'utf8'));
1557
+ const properties = plainRecord(plainRecord(schema)?.properties);
1558
+ const version = plainRecord(properties?.schemaVersion)?.const;
1559
+ if (typeof version === 'string')
1560
+ schemas.set(version, schema);
1561
+ }
1562
+ return schemas;
1563
+ }
1564
+ /** Headings outside fenced code blocks, with their level and text. */
1565
+ function markdownHeadings(content) {
1566
+ const headings = [];
1567
+ let fence = null;
1568
+ for (const line of content.split(/\r?\n/u)) {
1569
+ const marker = /^\s*(```|~~~)/u.exec(line)?.[1];
1570
+ if (marker) {
1571
+ fence = fence === null ? marker : fence === marker ? null : fence;
1572
+ continue;
1573
+ }
1574
+ if (fence !== null)
1575
+ continue;
1576
+ const match = /^(#{1,6})\s+(.+?)\s*#*\s*$/u.exec(line);
1577
+ if (match)
1578
+ headings.push({ level: match[1].length, text: match[2] });
1579
+ }
1580
+ return headings;
1581
+ }
1582
+ function contractHeadingViolations(content) {
1583
+ const issues = [];
1584
+ const headings = markdownHeadings(content);
1585
+ const sectionHeadings = headings.filter((heading) => heading.level === 2);
1586
+ const positions = SPEC_CONTRACT_HEADINGS.map((required) => sectionHeadings.findIndex((heading) => heading.text === required));
1587
+ for (const [index, required] of SPEC_CONTRACT_HEADINGS.entries()) {
1588
+ if (positions[index] === -1)
1589
+ issues.push(`Missing heading "## ${required}".`);
1590
+ }
1591
+ let previous = null;
1592
+ for (const [index, required] of SPEC_CONTRACT_HEADINGS.entries()) {
1593
+ const position = positions[index];
1594
+ if (position === -1)
1595
+ continue;
1596
+ if (previous && position < previous.position) {
1597
+ issues.push(`Heading "## ${required}" appears before "## ${previous.heading}".`);
1598
+ }
1599
+ previous = { heading: required, position };
1600
+ }
1601
+ const scopeIndex = headings.findIndex((heading) => heading.level === 2 && heading.text === 'Scope Boundaries');
1602
+ if (scopeIndex !== -1) {
1603
+ const end = headings.findIndex((heading, index) => index > scopeIndex && heading.level <= 2);
1604
+ const scope = headings.slice(scopeIndex + 1, end === -1 ? undefined : end);
1605
+ for (const required of SCOPE_SUBHEADINGS) {
1606
+ if (!scope.some((heading) => heading.level === 3 && heading.text.startsWith(required))) {
1607
+ issues.push(`"## Scope Boundaries" is missing "### ${required}".`);
1608
+ }
1609
+ }
1610
+ }
1611
+ return issues;
1612
+ }
1613
+ /** Every top-level criterion in Acceptance Criteria must start with a unique AC-NNN id. */
1614
+ function acceptanceIdViolations(content) {
1615
+ const section = markdownSection(content, 'Acceptance Criteria');
1616
+ if (section === null)
1617
+ return ['No "## Acceptance Criteria" section to read acceptance ids from.'];
1618
+ const criteria = section
1619
+ .split(/\r?\n/u)
1620
+ .map((line) => /^(?:[-*+]|\d+[.)])\s+(.*)$/u.exec(line)?.[1])
1621
+ .filter((item) => item !== undefined);
1622
+ if (criteria.length === 0)
1623
+ return ['"## Acceptance Criteria" lists no criteria.'];
1624
+ const issues = [];
1625
+ const seen = new Set();
1626
+ for (const criterion of criteria) {
1627
+ const text = criterion.replace(/^\[[ xX]\]\s*/u, '').replace(/^[*_`]+/u, '');
1628
+ const id = /^([A-Za-z]+-[A-Za-z0-9]+)/u.exec(text)?.[1];
1629
+ if (!id || !ACCEPTANCE_ID.test(id)) {
1630
+ issues.push(`Criterion "${text.slice(0, 60)}" does not start with an AC-NNN id.`);
1631
+ continue;
1632
+ }
1633
+ if (seen.has(id))
1634
+ issues.push(`Acceptance id ${id} is used more than once.`);
1635
+ seen.add(id);
1636
+ }
1637
+ return issues;
1638
+ }
1639
+ /**
1640
+ * Check one spec file against the specification contract without writing.
1641
+ * Returns null when no spec directory matches the id.
1642
+ */
1643
+ export async function validateSpecContract(projectDir, config, specId) {
1644
+ const resolved = await resolveSpecDir(projectDir, config, specId);
1645
+ if (!resolved)
1646
+ return null;
1647
+ const file = path.join(resolved.dir, `${specId}-${resolved.slug}.md`);
1648
+ const violation = (rule, message) => ({
1649
+ file,
1650
+ rule,
1651
+ message,
1652
+ });
1653
+ if (!(await fileExists(file))) {
1654
+ return {
1655
+ specId,
1656
+ file: null,
1657
+ violations: [
1658
+ violation('path', `Expected the spec file ${path.basename(file)} in ${resolved.dir}.`),
1659
+ ],
1660
+ };
1661
+ }
1662
+ const violations = [];
1663
+ const raw = await readFile(file);
1664
+ let parsed;
1665
+ try {
1666
+ parsed = parseMarkdown(raw);
1667
+ }
1668
+ catch (error) {
1669
+ violations.push(violation('frontmatter', `Frontmatter is not valid YAML: ${messageOf(error)}`));
1670
+ parsed = { data: {}, content: raw };
1671
+ }
1672
+ const { data, content } = parsed;
1673
+ if (typeof data.id === 'string' && data.id !== specId) {
1674
+ violations.push(violation('path', `Frontmatter id is ${data.id}; the path says ${specId}.`));
1675
+ }
1676
+ if (typeof data.slug === 'string' && data.slug !== resolved.slug) {
1677
+ violations.push(violation('path', `Frontmatter slug is ${data.slug}; the path says ${resolved.slug}.`));
1678
+ }
1679
+ const schemas = supportedSpecSchemas();
1680
+ const versions = [...schemas.keys()].sort((a, b) => a.localeCompare(b, 'en', { numeric: true }));
1681
+ const declared = data.schemaVersion;
1682
+ let schema = typeof declared === 'string' ? schemas.get(declared) : undefined;
1683
+ if (schema === undefined) {
1684
+ const found = declared === undefined ? 'missing' : `${JSON.stringify(declared)}, which is unsupported`;
1685
+ violations.push(violation('frontmatter', `schemaVersion is ${found}; supported versions: ${versions.join(', ')}.`));
1686
+ // Check the remaining keys against the newest contract.
1687
+ schema = schemas.get(versions[versions.length - 1]);
1688
+ }
1689
+ for (const issue of validateJson(data, schema)) {
1690
+ if (issue.path === '$.schemaVersion' || issue.detail.includes("'schemaVersion'"))
1691
+ continue;
1692
+ violations.push(violation('frontmatter', `${issue.path} ${issue.rule}: ${issue.detail}`));
1693
+ }
1694
+ for (const issue of contractHeadingViolations(content)) {
1695
+ violations.push(violation('headings', issue));
1696
+ }
1697
+ for (const issue of acceptanceIdViolations(content)) {
1698
+ violations.push(violation('acceptance-ids', issue));
1699
+ }
1700
+ return { specId, file, violations };
1701
+ }
1537
1702
  //# sourceMappingURL=spec-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-service.js","sourceRoot":"","sources":["../../src/services/spec-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-service.js","sourceRoot":"","sources":["../../src/services/spec-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAuB;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,UAAU,CACxB,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,IAAY;IAEZ,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,MAAuB,EACvB,MAAc;IAEd,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,MAAuB;IAEvB,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,wBAAwB,CAAC;IAC1C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc;YAAE,SAAS;QAE9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACrE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,iBAAiB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAE3C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE;YACF,IAAI;YACJ,KAAK;YACL,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,SAAS,EAAE,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAiBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,MAAuB,EACvB,KAAa,EACb,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,yEAAyE;IACzE,oEAAoE;IACpE,4EAA4E;IAC5E,wCAAwC;IACxC,CAAC;QACC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,OAAO,GAA+B,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,uBAAuB,SAAS,CAAC,IAAI,+DAA+D,WAAW,iBAAiB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAC9M,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE9C,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,8EAA8E,WAAW,iBAAiB,EAAE,KAAK,CAC3I,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB;QACE,EAAE;QACF,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;QAClC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;QACpB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnC,oEAAoE;IACpE,yEAAyE;IACzE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc;IAChE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,OAAO,GAA+B,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,MAAM,MAAM,CAAC;IACzB,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IACtB,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAsED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,IAAI,EAAE;SACN,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA8B;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,MAAgB,EAAE,EAAE,CACjD,MAAM,CAAC,MAAM,GAAG,CAAC;QACf,CAAC,CAAC,OAAO,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1D,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;SACrC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACnB;QACE,OAAO,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QACrK,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC;QAC9C,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC;KACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,MAAM,CAAC,QAAQ;aACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb;YACE,KAAK,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,KAAK,CAAC,UAAU,EAAE;YAClJ,gBAAgB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC5G,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;SACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClG,MAAM,UAAU,GAAG,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC9F,OAAO;QACL,qBAAqB;QACrB,EAAE;QACF,gKAAgK;QAChK,EAAE;QACF,6BAA6B;QAC7B,EAAE;QACF,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,IAAI,CACF,aAAa,EACb,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAC9F;QACD,EAAE;QACF,mCAAmC;QACnC,EAAE;QACF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QACvC,mBAAmB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAClG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjD,iBAAiB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC1F,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QACrD,EAAE;QACF,iCAAiC;QACjC,EAAE;QACF,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CACF,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CACxF;QACD,IAAI,CACF,OAAO,EACP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAClF;QACD,EAAE;QACF,2BAA2B;QAC3B,EAAE;QACF,YAAY;QACZ,EAAE;QACF,8BAA8B;QAC9B,EAAE;QACF,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,OAAO,YAAY,CAAC,GAAG,WAAW,sBAAsB,MAAM,CAAC,OAAO,8BAA8B,CAAC,yCAAyC,UAAU,IAAI;KAC7J,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAAkB,EAClB,MAAuB,EACvB,KAA8B;IAE9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,EAAE;YAC5F,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,EAAE;YAC5F,IAAI,EAAE,6BAA6B;SACpC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,oCAAoC,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,yBAAyB,EACzB;QACE,EAAE;QACF,IAAI;QACJ,KAAK,EAAE,gBAAgB;QACvB,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,EAAE;QACb,EAAE,EAAE,EAAE;QACN,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,kBAAkB,KAAK,CAAC,OAAO,CAAC,SAAS,cAAc,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxH,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;QAClD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9C,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;QAClC,kBAAkB,EAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAChF,kBAAkB,EAAE;YAClB,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC5E,6JAA6J;SAC9J;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC;KAChB,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,WAAW,GAAwB;QACvC,EAAE;QACF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI;QACJ,aAAa,EAAE,OAAO;QACtB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,EAAE,EAAE,KAAK,CAAC,OAAO;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,EAAE;KACtB,CAAC;IACF,MAAM,OAAO,GAAG,yBAAyB,CACvC,WAAW,EACX,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAC9G,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,MAAuB,EACvB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,iCAAiC,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CACxF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IAC1E,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,MAAwC;IAExC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,eAAe,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW,EAAE,MAAwC;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,GAAG,GAAG,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7F,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAC1E,CAAC;AAeD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,OAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAExD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CACX,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,sEAAsE,CAClG,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CACX,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,mCAAmC,CAAC,CAAC,OAAO,iBAAiB;gBACtF,sCAAsC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,OAAO;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,yDAAyD,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,iGAAiG;IACjG,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,QAAgB,EAAiB,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,mCAAmC,MAAM,4BAA4B,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO;QACzC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAC9B,oBAAoB,EACpB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,cAAc,MAAM,GAAG,CACzC,CAAC;QACF,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,2EAA2E,MAAM,YAAY,CACtG,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,qCAAqC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9F,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7E,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE1E,yEAAyE;IACzE,MAAM,sBAAsB,GAAG,OAAO,CAAC;IACvC,MAAM,iBAAiB,GACrB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,sBAAsB,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CACX,2BAA2B,iBAAiB,cAAc,sBAAsB,+CAA+C,CAChI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAAuB,EACvB,OAA6B,EAAE;IAK/B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC;AAqED,qEAAqE;AACrE,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,0BAA0B,CAAC,UAA6B;IAC/D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,aAAa,CACpB,MAA6B,EAC7B,OAAe,EACf,SAAsC,EACtC,kBAAyC;IAEzC,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,oBAAoB,CACxB,GAAG,MAAM,CAAC,EAAE,uCAAuC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YACT,MAAM,oBAAoB,CAAC,GAAG,MAAM,CAAC,EAAE,4BAA4B,YAAY,GAAG,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,kBAAkB;SAC9C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;SACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAG;QACb,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,gBAAgB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,sBAAsB,CAAC;aACvE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc;QACd,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACvF,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;QACzB,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACpD,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,gCAAgC,CACvC,OAAe,EACf,QAA0D;IAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,oBAAoB,CACxB,YAAY,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,KAAK,GAAG,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,SAAS,sBAAsB,CAC7B,IAA+B,EAC/B,eAAkC;IAElC,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,sBAAsB,eAAe,IAAI,IAAI,cAAc,EAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mCAAmC,CAC1C,IAA+B,EAC/B,OAAe,EACf,UAAkB,EAClB,kBAAqC,OAAO;IAE5C,MAAM,MAAM,GAAG,YAAY,CACzB,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAC3B,sBAAsB,CAAC,IAAI,EAAE,eAAe,CAAC,CAC9C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,OAAO,GAAG,MAAM;SACnB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;SAC9D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,oBAAoB,CACxB,YAAY,UAAU,sBAAsB,eAAe,IAAI,IAAI,iBAAiB,OAAO,GAAG,SAAS,GAAG,CAC3G,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,SAAiB;IAC3D,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,MAAuB,EACvB,IAAkB,EAClB,eAAmC,EACnC,aAAgC,EAChC,aAAqC,EACrC,UAAyC;IAEzC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,WAAW,oBAAoB,aAAa,EAAE,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,WAAW,qBAAqB,aAAa,EAAE,CAAC,CAAC;IAEjG,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE;YAC/C,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAClC,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAClF,MAAM,aAAa,GAOd,EAAE,CAAC;YAER,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,MAAM,oBAAoB,CAAC,kCAAkC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxF,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAC5E,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7E,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;gBACjD,gCAAgC,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACjD,EAAE,EAAE,MAAM;oBACV,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,OAAO;iBACR,CAAC,CAAC;gBACH,mCAAmC,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/E,aAAa,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,MAAM;oBACV,QAAQ;oBACR,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;iBAC3C,CAAC,CAAC;YACL,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,oBAAoB,CACxB,GAAG,OAAO,uDAAuD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7G,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE;gBAC1F,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,kBAAkB;gBAClB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC5D,EAAE;oBACF,QAAQ;oBACR,KAAK;oBACL,KAAK;iBACN,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,gCAAgC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1F,mCAAmC,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,OAAO,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAClE,aAAa,CAAC,OAAO,CACtB,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxE,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC9E,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC9E,MAAM,oBAAoB,CAAC,4DAA4D,CAAC,CAAC;QAC3F,CAAC;QACD,mCAAmC,CACjC,MAAM,EACN,iBAAiB,EACjB,IAAI,CAAC,EAAE,EACP,UAAU,CAAC,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAC9D,CAAC;QACF,MAAM,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAEzD,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,cAAc,CACtB,CAAC,YAAY,EAAE,aAAa,CAAC,EAC7B,yDAAyD,IAAI,CAAC,EAAE,kCAAkC,aAAa,GAAG,CACnH,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mDAAmD,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,4BAA4B,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,EAAE;QACxE,IAAI,EAAE,8BAA8B;KACrC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,OAAiC;IACtE,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,SAAS,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC;QAC5D,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,oBAAoB,CAAC,GAAG,QAAQ,kCAAkC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CACxB,GAAG,QAAQ,SAAS,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,cAAc,aAAa,GAAG,CACpG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7D,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,oBAAoB,CACxB,QAAQ,KAAK,GAAG,CAAC,YAAY,UAAU,wCAAwC,IAAI,CAAC,EAAE,GAAG,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/B,MAAM,oBAAoB,CACxB,GAAG,IAAI,CAAC,EAAE,4BAA4B,YAAY,mDAAmD,CACtG,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,oBAAoB,CAAC,GAAG,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,IAAc,EAAQ,EAAE;QACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO;QACvC,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,oBAAoB,CAAC,8BAA8B,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9B,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1D,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,OAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAExD,yEAAyE;IACzE,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC7E,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CACb,QAAQ,MAAM,gBAAgB,eAAe,CAAC,MAAM,QAClD,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KACvC,QAAQ,aAAa,CAAC,MAAM,QAAQ,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;YAC3E,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,gIAAgI,CACrG,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACrC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;IAElC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,EAAW,CAAC;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO;QAC7B,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC;QACtD,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,eAAe,YAAY,EAAE,CAAC;IAElD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YACrC,YAAY,EAAE,SAAS,CAAC,MAAM;YAC9B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU,CAAC,EAAE;YACvB,OAAO,EAAE,UAAU,CAAC,CAAC;YACrB,YAAY;YACZ,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,4BAA4B,CACzE,MAAM,EACN,IAAI,EACJ,eAAe,EACf,aAAa,EACb,MAAM,EACN,UAAU,CACX,CAAC;IAEF,MAAM,yBAAyB,CAAC;QAC9B,UAAU;QACV,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,oBAAoB,EAAE;QACtC,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;QACrC,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,KAAK,cAAc,aAAa,YAAY,gBAAgB,CAAC,CAAC;IAE/F,OAAO;QACL,cAAc;QACd,YAAY;QACZ,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,UAAU,CAAC,EAAE;QACvB,OAAO,EAAE,UAAU,CAAC,CAAC;QACrB,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mCAAmC,GAAG,kCAA2C,CAAC;AAC/F,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAAqC,CAAC;AACrF,MAAM,CAAC,MAAM,yCAAyC,GAAG,OAAgB,CAAC;AAC1E,MAAM,CAAC,MAAM,2CAA2C,GAAG,OAAgB,CAAC;AAC5E,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,GAAG,IAAI,CAAC;AAErE,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,UAAU;IACV,aAAa;IACb,WAAW;IACX,cAAc;IACd,gBAAgB;CACR,CAAC,CAAC;AAkCZ,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,6BAA6B,CAAC;IACrC,OAAO,CAAW;IAE3B,YAAY,OAAe,EAAE,UAAoB,EAAE;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QAOJ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EACN,4FAA4F;YAC9F,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,MAAM;IACN,eAAe;IACf,iBAAiB;IACjB,SAAS;IACT,UAAU;IACV,SAAS;IACT,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,cAAc;IACd,UAAU;IACV,OAAO;IACP,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,oBAAoB;CACZ,CAAC,CAAC;AAEZ,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,MAAM;IACN,eAAe;IACf,iBAAiB;IACjB,SAAS;IACT,UAAU;IACV,SAAS;IACT,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,cAAc;IACd,UAAU;IACV,OAAO;IACP,oBAAoB;IACpB,qBAAqB;CACb,CAAC,CAAC;AAEZ,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CACxB,KAA8B,EAC9B,OAA0B,EAC1B,KAAa;IAEb,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,+BAA+B,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,UAAU,GAAG,KAAK;SACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,CACL,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,mEAAmE,CAAC,IAAI,CAAC,UAAU,CAAC;QACpF,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;QAChD,oCAAoC,CAAC,IAAI,CAAC,UAAU,CAAC;QACrD,2CAA2C,CAAC,IAAI,CAAC,UAAU,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,KAAa,EACb,UAA0C,EAAE;IAE5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,+BAA+B,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,+BAA+B,CACvC,GAAG,KAAK,qDAAqD,GAAG,QAAQ,GAAG,cAAc,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,KAAa,EACb,UAAkF,EAAE;IAEpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,+BAA+B,CACvC,GAAG,KAAK,iBAAiB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,GAAG,EAAE,SAAS,CACpG,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,cAAc,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CACjF,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,+BAA+B,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,+BAA+B,CACvC,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,GAAG,0CAA0C,EAAE,CAAC;QAC5D,MAAM,IAAI,+BAA+B,CACvC,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,+BAA+B,CACvC,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,gCAAgC,EAAE,kCAAkC,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,+BAA+B,CACvC,8DAA8D,EAC9D,CAAC,GAAG,OAAO,CAAC,CACb,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,+BAA+B;QAC9C,KAAK,CAAC,aAAa,KAAK,yCAAyC;QACjE,KAAK,CAAC,eAAe,KAAK,2CAA2C,EACrE,CAAC;QACD,MAAM,IAAI,+BAA+B,CACvC,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,+BAA+B,CAAC,8BAA8B,CAAC,CAAC;IACzF,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;IACxF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,+BAA+B,CACvC,sCAAsC,EACtC,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,+BAA+B,CAAC,6BAA6B,CAAC,CAAC;IACvF,iBAAiB,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,MAAM,CAC3E,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAC/B,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,+BAA+B,CACvC,qCAAqC,EACrC,cAAc,CACf,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,+BAA+B,CAAC,2BAA2B,CAAC,CAAC;IACnF,iBAAiB,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACpF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,+BAA+B,CAAC,mCAAmC,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,+BAA+B,CAAC,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACtE,IACE,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,6BAA6B,CAAC,QAAQ,CAAC,SAAuC,CAAC,EAChF,CAAC;YACD,MAAM,IAAI,+BAA+B,CACvC,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,SAAuC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,+BAA+B,CAAC,0CAA0C,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7E,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CACzC,CAAC;IAEF,MAAM,aAAa,GACjB,KAAK,CAAC,aAAa,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,kBAAkB,GACtB,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAK;YACxF,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE;YACjC,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,IAAI,+BAA+B,CACvC,iEAAiE,CAClE,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;IAEb,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,+BAA+B;QACrC,aAAa,EAAE,yCAAyC;QACxD,eAAe,EAAE,2CAA2C;QAC5D,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;QACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;YAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAChF,CAAC;QACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;YACjE,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;YAC3D,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;YACxD,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;SAClE,CAAC;QACF,sBAAsB,EAAE,MAAM,CAAC,MAAM,CACnC,cAAc,CAAC,KAAK,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CACvE;QACD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC5E,oBAAoB,EAAE,MAAM,CAAC,MAAM,CACjC,cAAc,CAAC,KAAK,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CACnE;QACD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC/E,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;SAChF,CAAC;QACF,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAC/B,cAAc,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAChF;QACD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3C,kBAAkB;KACnB,CAAqB,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,OAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,0EAA0E;IAC1E,sDAAsD;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjC,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,yBAAyB,EACzB;QACE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QAC9D,aAAa,EAAE,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO;QACpF,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAClE,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QACnE,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAChE,IAAI,EAAE,KAAK;QACX,OAAO;QACP,qBAAqB,EAAE,mCAAmC;QAC1D,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;QAC3D,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;QACvD,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,kBAAkB,EAAE,0BAA0B,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAC/E,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IAEF,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACrE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,MAAuB,EACvB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC;AA8BD,KAAK,UAAU,sBAAsB,CACnC,MAAuB,EACvB,MAAc,EACd,EAAU,EACV,KAAa,EACb,IAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,MAAM,oBAAoB,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAClF,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE;QAC5D,CAAC,CAAC,SAAS,CACd,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,mBAAmB,EACnB;QACE,EAAE;QACF,IAAI;QACJ,KAAK;QACL,MAAM;QACN,aAAa,EAAE,OAAO;QACtB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,kBAAkB;QAClB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAChE,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACrE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,KAAa,EACb,IAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAE5B,MAAM,EAAE,GAAG,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAkBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,IAAI,KAAK,GAAG,eAAe,CAAC;QAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACrE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACxE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACrE,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,EAAE;YACF,IAAI;YACJ,KAAK;YACL,MAAM;YACN,IAAI;YACJ,KAAK;YACL,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAsBD,KAAK,UAAU,qBAAqB,CAClC,MAAuB,EACvB,MAAc,EACd,EAAU,EACV,KAA0B;IAE1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,oBAAoB,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE;QACvB,GAAG,KAAK,CAAC,KAAK,oBAAoB,KAAK,CAAC,OAAO,0CAA0C,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC;IAClK,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,IACE,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB;QACE,EAAE;QACF,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM;QACN,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,KAAK;QACX,SAAS;QACT,SAAS;QACT,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;QACxC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;QACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;QAC9C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;QAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;QAClD,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,KAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1B,iEAAiE;IACjE,2DAA2D;IAC3D,MAAM,EAAE,GAAG,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,MAAuB,EACvB,MAAc,EACd,QAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,aAAa,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtE,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,gBAAgB;IAChB,UAAU;IACV,uBAAuB;IACvB,yBAAyB;IACzB,gBAAgB;IAChB,aAAa;IACb,uBAAuB;IACvB,eAAe;IACf,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,2BAA2B;IAC3B,yBAAyB;CACjB,CAAC,CAAC;AAEZ,kHAAkH;AAClH,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,CACvD,sBAAsB,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,IAAI,OAAO,KAAK,yBAAyB,CACnF,CACF,CAAC;AAEF,SAAS,eAAe,CAAC,OAAe,EAAE,OAAe,EAAE,KAAK,GAAG,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IAChF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAC1B,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClF,CAAC;IACF,OAAO,KAAK;SACT,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;SAChD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,OAAO;SACX,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI;SACD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,IAAI,EAAE,CACV;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gCAAgC,CAAC,OAAe;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,OAAO,IAAI,mCAAmC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,8CAA8C,OAAO,YAAY,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,uCAAuC,OAAO,6BAA6B,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAClF,IAAI,CAAC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,YAAY,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,IAAI,CAAC,+DAA+D,KAAK,GAAG,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,wBAAwB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5E,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,4DAA4D,KAAK,GAAG,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,UAAU;aACxB,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;aACrE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,EAC/E,CAAC;YACD,MAAM,CAAC,IAAI,CACT,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAkB,EAClB,MAAuB,EACvB,MAAc;IAEd,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ,MAAM,aAAa,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,gDAAgD,MAAM,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,yCAAyC,MAAM,SAAS,CAAC,CAAC;IACxE,CAAC;IAED,yCAAyC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,0CAA0C,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,gDAAgD,WAAW,eAAe,MAAM,qBAAqB,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC9D,IACE,qBAAqB,KAAK,SAAS;QACnC,qBAAqB,KAAK,mCAAmC,EAC7D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;SAAM,IAAI,qBAAqB,KAAK,mCAAmC,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,cAAc,CAAU,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAG,cAAc,CAAC;AAgBrC,kGAAkG;AAClG,SAAS,oBAAoB;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACxD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sEAAsE;AACtE,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,QAAQ,GAA2C,EAAE,CAAC;IAC5D,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxD,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAClE,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;QACjE,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,QAAQ,GAAiD,IAAI,CAAC;IAClE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAC9B,IAAI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,eAAe,QAAQ,wBAAwB,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CACnC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,CACxE,CAAC;IACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACvF,MAAM,CAAC,IAAI,CAAC,yCAAyC,QAAQ,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2FAA2F;AAC3F,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,kEAAkE,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,OAAO;SACrB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAElF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,qCAAqC,CAAC,CAAC;YAClF,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,MAAuB,EACvB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,CAAC,IAAsB,EAAE,OAAe,EAAyB,EAAE,CAAC,CAAC;QACrF,IAAI;QACJ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,MAAM;YACN,IAAI,EAAE,IAAI;YACV,UAAU,EAAE;gBACV,SAAS,CAAC,MAAM,EAAE,0BAA0B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,GAAG,GAAG,CAAC;aACvF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAA0D,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,kCAAkC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjC,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACtD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,IAAI,CAAC,EAAE,mBAAmB,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CACb,SAAS,CAAC,MAAM,EAAE,uBAAuB,IAAI,CAAC,IAAI,mBAAmB,QAAQ,CAAC,IAAI,GAAG,CAAC,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;IACpC,IAAI,MAAM,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GACT,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC3F,UAAU,CAAC,IAAI,CACb,SAAS,CACP,aAAa,EACb,oBAAoB,KAAK,yBAAyB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACzE,CACF,CAAC;QACF,wDAAwD;QACxD,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAAE,SAAS;QAC3F,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  /** Compile and render a Handlebars template, checking the override directory first. */
2
2
  export declare function renderTemplate(templatePath: string, data: Record<string, unknown>, // Template data is inherently untyped
3
3
  overrideDir?: string): Promise<string>;
4
+ /** Whether `overrideDir` holds its own copy of `templatePath`. */
5
+ export declare function hasTemplateOverride(templatePath: string, overrideDir?: string): Promise<boolean>;
4
6
  //# sourceMappingURL=template-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-service.d.ts","sourceRoot":"","sources":["../../src/services/template-service.ts"],"names":[],"mappings":"AAiCA,uFAAuF;AACvF,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,sCAAsC;AACrE,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
1
+ {"version":3,"file":"template-service.d.ts","sourceRoot":"","sources":["../../src/services/template-service.ts"],"names":[],"mappings":"AAiCA,uFAAuF;AACvF,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,sCAAsC;AACrE,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,kEAAkE;AAClE,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -33,6 +33,10 @@ overrideDir) {
33
33
  }
34
34
  return compiled(data);
35
35
  }
36
+ /** Whether `overrideDir` holds its own copy of `templatePath`. */
37
+ export async function hasTemplateOverride(templatePath, overrideDir) {
38
+ return overrideDir ? fileExists(path.join(overrideDir, templatePath)) : false;
39
+ }
36
40
  async function resolveTemplatePath(templatePath, overrideDir) {
37
41
  if (overrideDir) {
38
42
  const overrideFull = path.join(overrideDir, templatePath);
@@ -1 +1 @@
1
- {"version":3,"file":"template-service.js","sourceRoot":"","sources":["../../src/services/template-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-service.js","sourceRoot":"","sources":["../../src/services/template-service.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ _None specified._
105
105
  ## Acceptance Criteria
106
106
 
107
107
  {{#each acceptanceCriteria}}
108
- - [ ] {{this}}
108
+ - [ ] {{id}}: {{statement}}
109
109
  {{/each}}
110
110
 
111
111
  ## Declared Risk Specialists
@@ -79,8 +79,8 @@ _Describe the safe reversal or compensating action and its trigger._
79
79
 
80
80
  _Observable, testable outcomes._
81
81
 
82
- - [ ] Given ..., when ..., then ...
83
- - [ ] Given ..., when ..., then ...
82
+ - [ ] AC-001: Given ..., when ..., then ...
83
+ - [ ] AC-002: Given ..., when ..., then ...
84
84
 
85
85
  ## Declared Risk Specialists
86
86
 
@@ -1,9 +1,2 @@
1
- /**
2
- * Convert text to a URL/filename-safe slug.
3
- *
4
- * `maxLength` caps the slug (default 80) so filenames stay well under
5
- * the OS limit (255 chars) even after the ID prefix and `.md` extension.
6
- * The slug is trimmed at the last whole word boundary to avoid cut-off words.
7
- */
8
- export declare function slugify(text: string, maxLength?: number): string;
1
+ export { slugify } from '../../lib/backlog-item.mjs';
9
2
  //# sourceMappingURL=slugify.d.ts.map