@agents-inc/cli 0.74.13 → 0.76.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 (195) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{chunk-SXGBPQY6.js → chunk-2I5SXGXR.js} +2 -2
  3. package/dist/{chunk-MYSIW4HY.js → chunk-36YW5E7G.js} +5 -5
  4. package/dist/{chunk-T5DJCIUP.js → chunk-3REKTRAN.js} +2 -2
  5. package/dist/{chunk-ICJV3JJF.js → chunk-6F3CZLD6.js} +32 -73
  6. package/dist/chunk-6F3CZLD6.js.map +1 -0
  7. package/dist/{chunk-GHBZ7NUI.js → chunk-7NACNRFG.js} +21 -9
  8. package/dist/chunk-7NACNRFG.js.map +1 -0
  9. package/dist/{chunk-RKZFLLER.js → chunk-7PMFIL5L.js} +3 -3
  10. package/dist/{chunk-TKNPMYKJ.js → chunk-7PZFDI46.js} +4 -4
  11. package/dist/{chunk-NKKYTCBH.js → chunk-7XUKTYVD.js} +706 -327
  12. package/dist/chunk-7XUKTYVD.js.map +1 -0
  13. package/dist/{chunk-4EPFKZB5.js → chunk-AE2QHAFO.js} +23 -17
  14. package/dist/chunk-AE2QHAFO.js.map +1 -0
  15. package/dist/{chunk-OZ4DXMRF.js → chunk-CBJTSEI2.js} +5 -5
  16. package/dist/{chunk-HT5KOOUQ.js → chunk-CCSU4R65.js} +3 -4
  17. package/dist/chunk-CCSU4R65.js.map +1 -0
  18. package/dist/{chunk-W6NWOYMS.js → chunk-CKU7FJNV.js} +4 -4
  19. package/dist/{chunk-SASGCSBZ.js → chunk-EEZSCHS2.js} +9 -9
  20. package/dist/{chunk-CBXMOWQY.js → chunk-ERHTXNIF.js} +3 -3
  21. package/dist/{chunk-2YFC7IJ6.js → chunk-EWBNSS5Y.js} +6 -6
  22. package/dist/{chunk-TQLDQ3XZ.js → chunk-EYFBODHL.js} +2 -2
  23. package/dist/{chunk-AUNBGZS4.js → chunk-FFMWFEUH.js} +2 -2
  24. package/dist/{chunk-EGMQ3SXN.js → chunk-FMYAYX6W.js} +1 -1
  25. package/dist/chunk-FMYAYX6W.js.map +1 -0
  26. package/dist/{chunk-7Q6RMYR3.js → chunk-I2SUTL7S.js} +5 -5
  27. package/dist/{chunk-RRBWNEG3.js → chunk-I534EWJQ.js} +3 -3
  28. package/dist/{chunk-2PZ7LBFT.js → chunk-IDN2OZJY.js} +2 -2
  29. package/dist/{chunk-NG2GGK6P.js → chunk-JWMYAJHD.js} +2974 -3454
  30. package/dist/chunk-JWMYAJHD.js.map +1 -0
  31. package/dist/{chunk-MWGDG4QN.js → chunk-K63OEZW7.js} +2 -2
  32. package/dist/{chunk-BM5Y6LIC.js → chunk-KPRCP3MZ.js} +3 -3
  33. package/dist/{chunk-746DCNGM.js → chunk-LO5QGAP2.js} +5 -5
  34. package/dist/{chunk-IJNNVCS4.js → chunk-M4ZDKHJV.js} +3 -3
  35. package/dist/{chunk-IJNNVCS4.js.map → chunk-M4ZDKHJV.js.map} +1 -1
  36. package/dist/{chunk-CXRVM7BA.js → chunk-M76LNKMY.js} +2 -2
  37. package/dist/{chunk-WF5PMBIR.js → chunk-MLXAZODL.js} +2 -2
  38. package/dist/{chunk-UFKDY45I.js → chunk-NWW3OJH5.js} +3 -3
  39. package/dist/{chunk-ARGCINJC.js → chunk-O5CPXIC4.js} +7 -9
  40. package/dist/chunk-O5CPXIC4.js.map +1 -0
  41. package/dist/{chunk-A5TTDOP4.js → chunk-ODVQXXEO.js} +45 -16
  42. package/dist/{chunk-A5TTDOP4.js.map → chunk-ODVQXXEO.js.map} +1 -1
  43. package/dist/{chunk-EWGFIBBU.js → chunk-PRG7PKZM.js} +5 -5
  44. package/dist/{chunk-SRIH4U5Y.js → chunk-Q4PJSAMP.js} +33 -13
  45. package/dist/chunk-Q4PJSAMP.js.map +1 -0
  46. package/dist/{chunk-Q3F36QZZ.js → chunk-R7F5YQMI.js} +2 -2
  47. package/dist/{chunk-JQSJH72Q.js → chunk-S6DKM6MJ.js} +6 -6
  48. package/dist/{chunk-XMLCXRTS.js → chunk-SQ7WINEU.js} +3 -3
  49. package/dist/{chunk-LVNNP7T4.js → chunk-UBNHVBSV.js} +4 -4
  50. package/dist/{chunk-NPMGVQM4.js → chunk-VQV3DSHD.js} +6 -6
  51. package/dist/{chunk-ZU7AOE3X.js → chunk-WMMU5FOO.js} +15 -16
  52. package/dist/chunk-WMMU5FOO.js.map +1 -0
  53. package/dist/{chunk-4CRWKTNQ.js → chunk-WN2TUP4M.js} +4 -10
  54. package/dist/chunk-WN2TUP4M.js.map +1 -0
  55. package/dist/{chunk-6W4H2K3Z.js → chunk-WS3TL2AO.js} +35 -21
  56. package/dist/chunk-WS3TL2AO.js.map +1 -0
  57. package/dist/{chunk-7X4F4HCO.js → chunk-WZ5S4LGX.js} +6 -6
  58. package/dist/{chunk-IJLAVOKZ.js → chunk-XYZ7B5BY.js} +2 -2
  59. package/dist/commands/build/marketplace.js +5 -5
  60. package/dist/commands/build/plugins.js +9 -9
  61. package/dist/commands/build/stack.js +9 -9
  62. package/dist/commands/compile.js +10 -10
  63. package/dist/commands/config/index.js +9 -9
  64. package/dist/commands/config/path.js +8 -8
  65. package/dist/commands/config/show.js +9 -9
  66. package/dist/commands/diff.js +8 -8
  67. package/dist/commands/doctor.js +8 -8
  68. package/dist/commands/edit.js +33 -33
  69. package/dist/commands/eject.js +8 -8
  70. package/dist/commands/import/skill.js +9 -9
  71. package/dist/commands/info.js +9 -17
  72. package/dist/commands/info.js.map +1 -1
  73. package/dist/commands/init.js +33 -33
  74. package/dist/commands/list.js +8 -8
  75. package/dist/commands/new/agent.js +9 -9
  76. package/dist/commands/new/marketplace.js +10 -10
  77. package/dist/commands/new/skill.js +9 -9
  78. package/dist/commands/outdated.js +8 -8
  79. package/dist/commands/search.js +14 -15
  80. package/dist/commands/search.js.map +1 -1
  81. package/dist/commands/uninstall.js +9 -9
  82. package/dist/commands/update.js +10 -10
  83. package/dist/commands/validate.js +9 -9
  84. package/dist/components/common/select-list.js +2 -2
  85. package/dist/components/skill-search/skill-search.js +3 -3
  86. package/dist/components/wizard/category-grid.js +4 -4
  87. package/dist/components/wizard/category-grid.test.js +18 -19
  88. package/dist/components/wizard/category-grid.test.js.map +1 -1
  89. package/dist/components/wizard/checkbox-grid.js +4 -4
  90. package/dist/components/wizard/checkbox-grid.test.js +4 -4
  91. package/dist/components/wizard/domain-selection.js +13 -13
  92. package/dist/components/wizard/help-modal.js +2 -2
  93. package/dist/components/wizard/menu-item.js +1 -1
  94. package/dist/components/wizard/search-modal.js +3 -3
  95. package/dist/components/wizard/search-modal.test.js +3 -3
  96. package/dist/components/wizard/section-progress.js +2 -2
  97. package/dist/components/wizard/section-progress.test.js +2 -2
  98. package/dist/components/wizard/selection-card.js +2 -2
  99. package/dist/components/wizard/source-grid.js +6 -6
  100. package/dist/components/wizard/source-grid.test.js +15 -15
  101. package/dist/components/wizard/stack-selection.js +11 -11
  102. package/dist/components/wizard/step-agents.js +12 -12
  103. package/dist/components/wizard/step-agents.test.js +15 -15
  104. package/dist/components/wizard/step-build.js +12 -12
  105. package/dist/components/wizard/step-build.test.js +14 -14
  106. package/dist/components/wizard/step-confirm.js +5 -5
  107. package/dist/components/wizard/step-confirm.test.js +11 -11
  108. package/dist/components/wizard/step-refine.js +2 -2
  109. package/dist/components/wizard/step-refine.test.js +2 -2
  110. package/dist/components/wizard/step-settings.js +10 -10
  111. package/dist/components/wizard/step-settings.test.js +13 -13
  112. package/dist/components/wizard/step-sources.js +14 -14
  113. package/dist/components/wizard/step-sources.test.js +17 -17
  114. package/dist/components/wizard/step-stack.js +16 -16
  115. package/dist/components/wizard/step-stack.test.js +17 -17
  116. package/dist/components/wizard/wizard-layout.js +11 -11
  117. package/dist/components/wizard/wizard-tabs.js +2 -2
  118. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  119. package/dist/components/wizard/wizard.js +30 -30
  120. package/dist/config-exports.js +1 -1
  121. package/dist/hooks/init.js +33 -33
  122. package/dist/{loader-NHUCFMFQ.js → loader-7RQ4G4TH.js} +5 -5
  123. package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +1 -0
  124. package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +13 -0
  125. package/dist/{source-loader-42GVUFZA.js → source-loader-CXCIDGWV.js} +8 -8
  126. package/dist/source-manager-TPLO2DVS.js +19 -0
  127. package/dist/src/agents/_templates/agent.liquid +24 -0
  128. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  129. package/dist/src/agents/_templates/methodologies/context-management.liquid +162 -0
  130. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  131. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  132. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  133. package/dist/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  134. package/dist/src/agents/meta/agent-summoner/workflow.md +2 -2
  135. package/dist/src/agents/meta/skill-summoner/workflow.md +48 -3
  136. package/dist/stores/wizard-store.js +8 -8
  137. package/dist/stores/wizard-store.test.js +36 -36
  138. package/dist/stores/wizard-store.test.js.map +1 -1
  139. package/package.json +1 -1
  140. package/src/agents/_templates/agent.liquid +24 -0
  141. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  142. package/src/agents/_templates/methodologies/context-management.liquid +162 -0
  143. package/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  144. package/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  145. package/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  146. package/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  147. package/src/agents/meta/agent-summoner/workflow.md +2 -2
  148. package/src/agents/meta/skill-summoner/workflow.md +48 -3
  149. package/src/schemas/custom-metadata.schema.json +0 -7
  150. package/src/schemas/metadata.schema.json +0 -7
  151. package/dist/chunk-4CRWKTNQ.js.map +0 -1
  152. package/dist/chunk-4EPFKZB5.js.map +0 -1
  153. package/dist/chunk-6W4H2K3Z.js.map +0 -1
  154. package/dist/chunk-ARGCINJC.js.map +0 -1
  155. package/dist/chunk-EGMQ3SXN.js.map +0 -1
  156. package/dist/chunk-GHBZ7NUI.js.map +0 -1
  157. package/dist/chunk-HT5KOOUQ.js.map +0 -1
  158. package/dist/chunk-ICJV3JJF.js.map +0 -1
  159. package/dist/chunk-NG2GGK6P.js.map +0 -1
  160. package/dist/chunk-NKKYTCBH.js.map +0 -1
  161. package/dist/chunk-SRIH4U5Y.js.map +0 -1
  162. package/dist/chunk-ZU7AOE3X.js.map +0 -1
  163. package/dist/source-manager-WRZBOTEH.js +0 -19
  164. /package/dist/{chunk-SXGBPQY6.js.map → chunk-2I5SXGXR.js.map} +0 -0
  165. /package/dist/{chunk-MYSIW4HY.js.map → chunk-36YW5E7G.js.map} +0 -0
  166. /package/dist/{chunk-T5DJCIUP.js.map → chunk-3REKTRAN.js.map} +0 -0
  167. /package/dist/{chunk-RKZFLLER.js.map → chunk-7PMFIL5L.js.map} +0 -0
  168. /package/dist/{chunk-TKNPMYKJ.js.map → chunk-7PZFDI46.js.map} +0 -0
  169. /package/dist/{chunk-OZ4DXMRF.js.map → chunk-CBJTSEI2.js.map} +0 -0
  170. /package/dist/{chunk-W6NWOYMS.js.map → chunk-CKU7FJNV.js.map} +0 -0
  171. /package/dist/{chunk-SASGCSBZ.js.map → chunk-EEZSCHS2.js.map} +0 -0
  172. /package/dist/{chunk-CBXMOWQY.js.map → chunk-ERHTXNIF.js.map} +0 -0
  173. /package/dist/{chunk-2YFC7IJ6.js.map → chunk-EWBNSS5Y.js.map} +0 -0
  174. /package/dist/{chunk-TQLDQ3XZ.js.map → chunk-EYFBODHL.js.map} +0 -0
  175. /package/dist/{chunk-AUNBGZS4.js.map → chunk-FFMWFEUH.js.map} +0 -0
  176. /package/dist/{chunk-7Q6RMYR3.js.map → chunk-I2SUTL7S.js.map} +0 -0
  177. /package/dist/{chunk-RRBWNEG3.js.map → chunk-I534EWJQ.js.map} +0 -0
  178. /package/dist/{chunk-2PZ7LBFT.js.map → chunk-IDN2OZJY.js.map} +0 -0
  179. /package/dist/{chunk-MWGDG4QN.js.map → chunk-K63OEZW7.js.map} +0 -0
  180. /package/dist/{chunk-BM5Y6LIC.js.map → chunk-KPRCP3MZ.js.map} +0 -0
  181. /package/dist/{chunk-746DCNGM.js.map → chunk-LO5QGAP2.js.map} +0 -0
  182. /package/dist/{chunk-CXRVM7BA.js.map → chunk-M76LNKMY.js.map} +0 -0
  183. /package/dist/{chunk-WF5PMBIR.js.map → chunk-MLXAZODL.js.map} +0 -0
  184. /package/dist/{chunk-UFKDY45I.js.map → chunk-NWW3OJH5.js.map} +0 -0
  185. /package/dist/{chunk-EWGFIBBU.js.map → chunk-PRG7PKZM.js.map} +0 -0
  186. /package/dist/{chunk-Q3F36QZZ.js.map → chunk-R7F5YQMI.js.map} +0 -0
  187. /package/dist/{chunk-JQSJH72Q.js.map → chunk-S6DKM6MJ.js.map} +0 -0
  188. /package/dist/{chunk-XMLCXRTS.js.map → chunk-SQ7WINEU.js.map} +0 -0
  189. /package/dist/{chunk-LVNNP7T4.js.map → chunk-UBNHVBSV.js.map} +0 -0
  190. /package/dist/{chunk-NPMGVQM4.js.map → chunk-VQV3DSHD.js.map} +0 -0
  191. /package/dist/{chunk-7X4F4HCO.js.map → chunk-WZ5S4LGX.js.map} +0 -0
  192. /package/dist/{chunk-IJLAVOKZ.js.map → chunk-XYZ7B5BY.js.map} +0 -0
  193. /package/dist/{loader-NHUCFMFQ.js.map → loader-7RQ4G4TH.js.map} +0 -0
  194. /package/dist/{source-loader-42GVUFZA.js.map → source-loader-CXCIDGWV.js.map} +0 -0
  195. /package/dist/{source-manager-WRZBOTEH.js.map → source-manager-TPLO2DVS.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/lib/configuration/define-config.ts","../src/cli/lib/configuration/default-categories.ts","../src/cli/lib/configuration/default-rules.ts","../src/cli/lib/configuration/default-stacks.ts"],"sourcesContent":["import type { ProjectConfig } from \"../../types\";\n\n/**\n * Type-safe config helper for project configuration.\n * Uses const generics so literal types are preserved through the call.\n *\n * Config MUST be defined inline for full type inference --\n * extracting the object to a variable widens literal types.\n */\nexport function defineConfig<const T extends ProjectConfig>(config: T): T {\n return config;\n}\n","import type { CategoryMap } from \"../../types\";\n\n/**\n * Built-in category definitions, equivalent to config/skill-categories.ts.\n * Source repos may override or extend these via their own config files.\n */\nexport const defaultCategories: CategoryMap = {\n \"web-framework\": {\n id: \"web-framework\",\n displayName: \"Framework\",\n description: \"UI framework (React, Vue, Angular, SolidJS)\",\n domain: \"web\",\n exclusive: true,\n required: true,\n order: 1,\n },\n \"web-meta-framework\": {\n id: \"web-meta-framework\",\n displayName: \"Meta-Framework\",\n description: \"Full-stack meta-framework (Next.js, Remix, Nuxt, SvelteKit)\",\n domain: \"web\",\n exclusive: true,\n required: false,\n order: 2,\n },\n \"web-styling\": {\n id: \"web-styling\",\n displayName: \"Styling\",\n description: \"CSS approach (SCSS Modules, Tailwind, CVA)\",\n domain: \"web\",\n exclusive: false,\n required: true,\n order: 3,\n },\n \"web-client-state\": {\n id: \"web-client-state\",\n displayName: \"Client State Management\",\n description: \"UI state, forms, local data (Zustand, Redux, MobX)\",\n domain: \"web\",\n exclusive: true,\n required: false,\n order: 4,\n },\n \"web-server-state\": {\n id: \"web-server-state\",\n displayName: \"Server State / Data Fetching\",\n description: \"API data caching (React Query, SWR)\",\n domain: \"web\",\n exclusive: true,\n required: false,\n order: 5,\n },\n \"web-forms\": {\n id: \"web-forms\",\n displayName: \"Forms & Validation\",\n description: \"Form handling and schema validation\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 6,\n },\n \"web-testing\": {\n id: \"web-testing\",\n displayName: \"Testing\",\n description: \"Unit, integration, and E2E testing\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 7,\n },\n \"web-ui-components\": {\n id: \"web-ui-components\",\n displayName: \"UI Component Library\",\n description: \"Pre-built component systems (Radix, shadcn)\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 8,\n },\n \"web-tooling\": {\n id: \"web-tooling\",\n displayName: \"Build Tools\",\n description: \"Frontend build tools and bundlers (Vite, Webpack)\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 9,\n },\n \"web-mocking\": {\n id: \"web-mocking\",\n displayName: \"API Mocking\",\n description: \"Mock Service Worker for development and testing\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 10,\n },\n \"web-error-handling\": {\n id: \"web-error-handling\",\n displayName: \"Error Handling\",\n description: \"Error boundaries, result types, and error patterns\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 11,\n },\n \"web-i18n\": {\n id: \"web-i18n\",\n displayName: \"Internationalization\",\n description: \"i18n libraries (next-intl, react-intl, vue-i18n)\",\n domain: \"web\",\n exclusive: true,\n required: false,\n order: 12,\n },\n \"web-file-upload\": {\n id: \"web-file-upload\",\n displayName: \"File Upload\",\n description: \"File upload patterns and handling\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 13,\n },\n \"web-files\": {\n id: \"web-files\",\n displayName: \"Files & Images\",\n description: \"Image handling and file processing\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 14,\n },\n \"web-utilities\": {\n id: \"web-utilities\",\n displayName: \"Utilities\",\n description: \"Utility libraries (date-fns, native JS patterns)\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 15,\n },\n \"web-realtime\": {\n id: \"web-realtime\",\n displayName: \"Realtime\",\n description: \"WebSockets, SSE, and real-time communication\",\n domain: \"web\",\n exclusive: true,\n required: false,\n order: 16,\n },\n \"web-animation\": {\n id: \"web-animation\",\n displayName: \"Animation\",\n description: \"Animation libraries and CSS animations\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 17,\n },\n \"web-pwa\": {\n id: \"web-pwa\",\n displayName: \"Progressive Web App\",\n description: \"Service workers, offline-first patterns, and PWA features\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 18,\n },\n \"web-accessibility\": {\n id: \"web-accessibility\",\n displayName: \"Accessibility\",\n description: \"WCAG compliance, ARIA, and keyboard navigation\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 19,\n },\n \"web-performance\": {\n id: \"web-performance\",\n displayName: \"Web Performance\",\n description: \"Bundle optimization, render performance, and code splitting\",\n domain: \"web\",\n exclusive: false,\n required: false,\n order: 20,\n },\n \"api-api\": {\n id: \"api-api\",\n displayName: \"API Framework\",\n description: \"Backend framework (Hono, Express, Fastify)\",\n domain: \"api\",\n exclusive: true,\n required: true,\n order: 1,\n },\n \"api-database\": {\n id: \"api-database\",\n displayName: \"Database ORM\",\n description: \"Database access layer (Drizzle, Prisma)\",\n domain: \"api\",\n exclusive: true,\n required: false,\n order: 2,\n },\n \"api-auth\": {\n id: \"api-auth\",\n displayName: \"Authentication\",\n description: \"Auth solution (Better Auth, Auth.js)\",\n domain: \"api\",\n exclusive: true,\n required: false,\n order: 3,\n },\n \"api-observability\": {\n id: \"api-observability\",\n displayName: \"Observability\",\n description: \"Logging, monitoring, error tracking\",\n domain: \"api\",\n exclusive: false,\n required: false,\n order: 4,\n },\n \"api-analytics\": {\n id: \"api-analytics\",\n displayName: \"Analytics\",\n description: \"Product analytics and tracking\",\n domain: \"api\",\n exclusive: false,\n required: false,\n order: 5,\n },\n \"api-email\": {\n id: \"api-email\",\n displayName: \"Email\",\n description: \"Transactional email (Resend, Sendgrid)\",\n domain: \"api\",\n exclusive: true,\n required: false,\n order: 6,\n },\n \"api-ai\": {\n id: \"api-ai\",\n displayName: \"AI & LLM\",\n description: \"AI SDKs, LLM integration, and RAG patterns\",\n domain: \"api\",\n exclusive: false,\n required: false,\n order: 7,\n },\n \"api-baas\": {\n id: \"api-baas\",\n displayName: \"Backend as a Service\",\n description: \"Managed backend platforms (Supabase, Firebase)\",\n domain: \"api\",\n exclusive: true,\n required: false,\n order: 8,\n },\n \"api-performance\": {\n id: \"api-performance\",\n displayName: \"Performance\",\n description: \"API performance patterns and optimization\",\n domain: \"api\",\n exclusive: false,\n required: false,\n order: 9,\n },\n \"mobile-framework\": {\n id: \"mobile-framework\",\n displayName: \"Mobile Framework\",\n description: \"Native mobile framework (React Native, Expo)\",\n domain: \"mobile\",\n exclusive: false,\n required: true,\n order: 1,\n },\n \"shared-monorepo\": {\n id: \"shared-monorepo\",\n displayName: \"Monorepo\",\n description: \"Monorepo tooling (Turborepo, Nx)\",\n domain: \"shared\",\n exclusive: true,\n required: false,\n order: 1,\n },\n \"shared-tooling\": {\n id: \"shared-tooling\",\n displayName: \"Build Tooling\",\n description: \"ESLint, Prettier, TypeScript, Vite\",\n domain: \"shared\",\n exclusive: false,\n required: false,\n order: 2,\n },\n \"shared-security\": {\n id: \"shared-security\",\n displayName: \"Security\",\n description: \"Authentication security patterns and best practices\",\n domain: \"shared\",\n exclusive: false,\n required: false,\n order: 3,\n },\n \"shared-meta\": {\n id: \"shared-meta\",\n displayName: \"Meta\",\n description: \"Research methodology and code review guidance\",\n domain: \"shared\",\n exclusive: false,\n required: false,\n order: 4,\n },\n \"shared-ci-cd\": {\n id: \"shared-ci-cd\",\n displayName: \"CI/CD\",\n description: \"Continuous integration and deployment pipelines\",\n domain: \"shared\",\n exclusive: false,\n required: false,\n order: 7,\n },\n \"cli-framework\": {\n id: \"cli-framework\",\n displayName: \"CLI Framework\",\n description: \"CLI application framework (Commander, oclif)\",\n domain: \"cli\",\n exclusive: true,\n required: true,\n order: 1,\n },\n};\n","import type { SkillRulesConfig } from \"../../types\";\n\n/**\n * Built-in skill rules, equivalent to config/skill-rules.ts.\n * Source repos may override or extend these via their own config files.\n */\nexport const defaultRules: SkillRulesConfig = {\n version: \"1.0.0\",\n relationships: {\n conflicts: [\n {\n skills: [\"react\", \"vue-composition-api\", \"angular-standalone\", \"solidjs\", \"svelte\"],\n reason: \"Base frameworks are mutually exclusive\",\n },\n {\n skills: [\"nextjs\", \"remix\", \"sveltekit\", \"astro\"],\n reason: \"Meta-frameworks are mutually exclusive\",\n },\n {\n skills: [\"pinia\", \"zustand\", \"redux-toolkit\", \"mobx\"],\n reason: \"Pinia is Vue-only; zustand/redux-toolkit/mobx skills teach React patterns\",\n },\n {\n skills: [\"ngrx-signalstore\", \"zustand\", \"pinia\", \"redux-toolkit\", \"mobx\"],\n reason: \"NgRx SignalStore is Angular-only\",\n },\n {\n skills: [\"react-query\", \"swr\"],\n reason: \"Both solve server state caching\",\n },\n {\n skills: [\"graphql-apollo\", \"graphql-urql\"],\n reason: \"Both are GraphQL clients\",\n },\n {\n skills: [\"playwright-e2e\", \"cypress-e2e\"],\n reason: \"Both are E2E frameworks\",\n },\n {\n skills: [\"react-hook-form\", \"vee-validate\"],\n reason: \"react-hook-form is React-only, vee-validate is Vue-only\",\n },\n {\n skills: [\"react-testing-library\", \"vue-test-utils\"],\n reason: \"Framework-specific testing libraries\",\n },\n {\n skills: [\"hono\", \"express\", \"fastify\"],\n reason: \"API frameworks are mutually exclusive within a single service\",\n },\n {\n skills: [\"drizzle\", \"prisma\", \"mongodb\"],\n reason: \"Database ORMs/ODMs are mutually exclusive\",\n },\n {\n skills: [\"cli-commander\", \"oclif-ink\"],\n reason: \"CLI frameworks are mutually exclusive\",\n },\n ],\n discourages: [\n {\n skills: [\"zustand\", \"redux-toolkit\", \"mobx\"],\n reason: \"Using multiple React state libraries adds complexity\",\n },\n {\n skills: [\"redux-toolkit\", \"zustand\"],\n reason: \"Redux Toolkit adds more boilerplate than Zustand\",\n },\n {\n skills: [\"swr\", \"react-query\"],\n reason: \"SWR is simpler but React Query has more features\",\n },\n {\n skills: [\"express\", \"hono\"],\n reason: \"Express is mature but Hono offers better performance and edge support\",\n },\n {\n skills: [\"express\", \"fastify\"],\n reason: \"Express is mature but Fastify offers better performance\",\n },\n {\n skills: [\"cypress-e2e\", \"playwright-e2e\"],\n reason:\n \"Cypress excels at interactive debugging; Playwright has better cross-browser support and CI performance\",\n },\n ],\n compatibleWith: [\n // React ecosystem (includes Next.js, Remix as meta-frameworks)\n {\n skills: [\"framer-motion\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Motion (Framer Motion) is a React animation library\",\n },\n {\n skills: [\"error-boundaries\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Error boundaries are a React concept\",\n },\n {\n skills: [\"file-upload-patterns\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Skill teaches React-based file upload patterns\",\n },\n {\n skills: [\"image-handling\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Skill teaches React-based image handling hooks\",\n },\n {\n skills: [\"react-hook-form\", \"react\", \"nextjs\", \"remix\"],\n reason: \"React Hook Form is React only\",\n },\n {\n skills: [\"react-intl\", \"react\", \"nextjs\", \"remix\"],\n reason: \"React Intl (FormatJS) is React only\",\n },\n {\n skills: [\"react-query\", \"react\", \"nextjs\", \"remix\"],\n reason: \"TanStack Query React adapter\",\n },\n {\n skills: [\"swr\", \"react\", \"nextjs\", \"remix\"],\n reason: \"SWR is a React Hooks library\",\n },\n {\n skills: [\"trpc\", \"react\", \"nextjs\", \"remix\"],\n reason: \"tRPC skill teaches React Query integration\",\n },\n {\n skills: [\"jotai\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Jotai is a React atomic state library\",\n },\n {\n skills: [\"mobx\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Skill teaches MobX with mobx-react-lite\",\n },\n {\n skills: [\"redux-toolkit\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Redux Toolkit skill teaches React Redux patterns\",\n },\n {\n skills: [\"zustand\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Zustand is a React state library\",\n },\n {\n skills: [\"react-testing-library\", \"react\", \"nextjs\", \"remix\"],\n reason: \"React Testing Library is React only\",\n },\n {\n skills: [\"radix-ui\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Radix UI primitives are React-specific\",\n },\n {\n skills: [\"shadcn-ui\", \"react\", \"nextjs\", \"remix\"],\n reason: \"shadcn/ui is built on React + Radix UI\",\n },\n {\n skills: [\"tanstack-table\", \"react\", \"nextjs\", \"remix\"],\n reason: \"Skill teaches @tanstack/react-table patterns only\",\n },\n // Next.js specific\n {\n skills: [\"next-intl\", \"nextjs\"],\n reason: \"next-intl is Next.js only\",\n },\n // Vue ecosystem (includes Nuxt as meta-framework)\n {\n skills: [\"vee-validate\", \"vue-composition-api\", \"nuxt\"],\n reason: \"VeeValidate is Vue only\",\n },\n {\n skills: [\"vue-i18n\", \"vue-composition-api\", \"nuxt\"],\n reason: \"vue-i18n is Vue 3 only\",\n },\n {\n skills: [\"pinia\", \"vue-composition-api\", \"nuxt\"],\n reason: \"Pinia is Vue only\",\n },\n {\n skills: [\"vue-test-utils\", \"vue-composition-api\", \"nuxt\"],\n reason: \"Vue Test Utils is Vue only\",\n },\n // Angular ecosystem\n {\n skills: [\"ngrx-signalstore\", \"angular-standalone\"],\n reason: \"NgRx SignalStore is Angular only\",\n },\n // Multi-framework\n {\n skills: [\n \"graphql-apollo\",\n \"react\",\n \"vue-composition-api\",\n \"angular-standalone\",\n \"nextjs\",\n \"remix\",\n \"nuxt\",\n ],\n reason: \"Apollo Client has bindings for React, Vue, and Angular\",\n },\n {\n skills: [\n \"graphql-urql\",\n \"react\",\n \"vue-composition-api\",\n \"solidjs\",\n \"nextjs\",\n \"remix\",\n \"nuxt\",\n ],\n reason: \"URQL has bindings for React, Vue, and Solid\",\n },\n ],\n recommends: [\n { skill: \"zustand\", reason: \"Best-in-class React state management\" },\n { skill: \"react-query\", reason: \"Modern server state caching for React\" },\n { skill: \"vitest\", reason: \"Fast, modern test runner for all frameworks\" },\n { skill: \"react-hook-form\", reason: \"Best React form library\" },\n { skill: \"react-testing-library\", reason: \"Standard React component testing\" },\n { skill: \"shadcn-ui\", reason: \"Best-in-class React + Tailwind component library\" },\n { skill: \"zod-validation\", reason: \"Type-safe validation for forms and APIs\" },\n { skill: \"pinia\", reason: \"Vue community standard state management\" },\n { skill: \"vee-validate\", reason: \"Vue community standard form validation\" },\n { skill: \"vue-test-utils\", reason: \"Vue component testing library\" },\n { skill: \"ngrx-signalstore\", reason: \"Angular Signals-based state management\" },\n { skill: \"tailwind\", reason: \"Utility-first CSS framework\" },\n { skill: \"drizzle\", reason: \"Modern TypeScript-first ORM\" },\n { skill: \"better-auth-drizzle-hono\", reason: \"Full-featured auth solution\" },\n { skill: \"radix-ui\", reason: \"Accessible unstyled component primitives\" },\n { skill: \"cva\", reason: \"Type-safe variant management for Tailwind\" },\n { skill: \"msw\", reason: \"Network-level API mocking for tests\" },\n { skill: \"playwright-e2e\", reason: \"Cross-browser E2E testing\" },\n { skill: \"posthog-analytics\", reason: \"Product analytics and feature flags\" },\n { skill: \"prisma\", reason: \"Mature database ORM with great DX\" },\n ],\n requires: [\n {\n skill: \"nextjs\",\n needs: [\"react\"],\n reason: \"Next.js is built on React\",\n },\n {\n skill: \"remix\",\n needs: [\"react\"],\n reason: \"Remix is built on React\",\n },\n {\n skill: \"nuxt\",\n needs: [\"vue-composition-api\"],\n reason: \"Nuxt is built on Vue\",\n },\n {\n skill: \"sveltekit\",\n needs: [\"svelte\"],\n reason: \"SvelteKit is built on Svelte\",\n },\n {\n skill: \"zustand\",\n needs: [\"react\", \"nextjs\", \"remix\", \"react-native\"],\n needsAny: true,\n reason: \"Our Zustand skill covers React/React Native patterns\",\n },\n {\n skill: \"redux-toolkit\",\n needs: [\"react\", \"nextjs\", \"remix\", \"react-native\"],\n needsAny: true,\n reason: \"Our Redux Toolkit skill covers React/React Native patterns\",\n },\n {\n skill: \"mobx\",\n needs: [\"react\", \"nextjs\", \"remix\"],\n needsAny: true,\n reason: \"Our MobX skill teaches React patterns\",\n },\n {\n skill: \"react-query\",\n needs: [\"react\", \"nextjs\", \"remix\", \"react-native\"],\n needsAny: true,\n reason: \"TanStack Query's React adapter\",\n },\n {\n skill: \"swr\",\n needs: [\"react\", \"nextjs\", \"remix\", \"react-native\"],\n needsAny: true,\n reason: \"SWR is a React Hooks library\",\n },\n {\n skill: \"react-hook-form\",\n needs: [\"react\", \"nextjs\", \"remix\", \"react-native\"],\n needsAny: true,\n reason: \"React Hook Form is React only\",\n },\n {\n skill: \"react-testing-library\",\n needs: [\"react\", \"nextjs\", \"remix\"],\n needsAny: true,\n reason: \"React Testing Library is React only\",\n },\n {\n skill: \"pinia\",\n needs: [\"vue-composition-api\", \"nuxt\"],\n needsAny: true,\n reason: \"Pinia is Vue only\",\n },\n {\n skill: \"vee-validate\",\n needs: [\"vue-composition-api\", \"nuxt\"],\n needsAny: true,\n reason: \"VeeValidate is Vue only\",\n },\n {\n skill: \"vue-test-utils\",\n needs: [\"vue-composition-api\", \"nuxt\"],\n needsAny: true,\n reason: \"Vue Test Utils is Vue only\",\n },\n {\n skill: \"ngrx-signalstore\",\n needs: [\"angular-standalone\"],\n reason: \"NgRx SignalStore is Angular only\",\n },\n {\n skill: \"better-auth-drizzle-hono\",\n needs: [\"drizzle\", \"prisma\"],\n needsAny: true,\n reason: \"Better Auth requires a database adapter\",\n },\n {\n skill: \"shadcn-ui\",\n needs: [\"react\", \"nextjs\", \"remix\"],\n needsAny: true,\n reason: \"shadcn/ui requires a React-based framework\",\n },\n {\n skill: \"shadcn-ui\",\n needs: [\"tailwind\"],\n reason: \"shadcn/ui requires Tailwind CSS\",\n },\n {\n skill: \"graphql-apollo\",\n needs: [\"react\", \"vue-composition-api\", \"angular-standalone\", \"nextjs\", \"remix\", \"nuxt\"],\n needsAny: true,\n reason: \"Apollo Client requires a UI framework\",\n },\n {\n skill: \"graphql-urql\",\n needs: [\"react\", \"vue-composition-api\", \"solidjs\", \"nextjs\", \"remix\", \"nuxt\"],\n needsAny: true,\n reason: \"URQL supports React, Vue, and Solid\",\n },\n ],\n alternatives: [\n {\n purpose: \"Base Framework\",\n skills: [\"react\", \"vue-composition-api\", \"angular-standalone\", \"solidjs\", \"svelte\"],\n },\n {\n purpose: \"Meta-Framework\",\n skills: [\"nextjs\", \"remix\", \"nuxt\", \"sveltekit\", \"astro\"],\n },\n {\n purpose: \"Styling\",\n skills: [\"scss-modules\", \"tailwind\", \"cva\"],\n },\n {\n purpose: \"Client State (React)\",\n skills: [\"zustand\", \"redux-toolkit\", \"mobx\", \"jotai\"],\n },\n { purpose: \"Client State (Vue)\", skills: [\"pinia\"] },\n { purpose: \"Client State (Angular)\", skills: [\"ngrx-signalstore\"] },\n {\n purpose: \"Server State / Data Fetching\",\n skills: [\"react-query\", \"swr\"],\n },\n {\n purpose: \"GraphQL Client\",\n skills: [\"graphql-apollo\", \"graphql-urql\"],\n },\n {\n purpose: \"API Framework\",\n skills: [\"hono\", \"express\", \"fastify\"],\n },\n { purpose: \"Database ORM / ODM\", skills: [\"drizzle\", \"prisma\", \"mongodb\"] },\n { purpose: \"Forms (React)\", skills: [\"react-hook-form\"] },\n { purpose: \"Forms (Vue)\", skills: [\"vee-validate\"] },\n { purpose: \"Validation\", skills: [\"zod-validation\"] },\n { purpose: \"Unit Testing\", skills: [\"vitest\"] },\n { purpose: \"Component Testing (React)\", skills: [\"react-testing-library\"] },\n { purpose: \"Component Testing (Vue)\", skills: [\"vue-test-utils\"] },\n {\n purpose: \"E2E Testing\",\n skills: [\"playwright-e2e\", \"cypress-e2e\"],\n },\n { purpose: \"API Mocking\", skills: [\"msw\"] },\n { purpose: \"UI Components (React + Tailwind)\", skills: [\"shadcn-ui\"] },\n { purpose: \"Mobile\", skills: [\"react-native\"] },\n {\n purpose: \"CLI Framework\",\n skills: [\"cli-commander\", \"oclif-ink\"],\n },\n { purpose: \"AI SDK\", skills: [\"vercel-ai-sdk\"] },\n { purpose: \"Backend as a Service\", skills: [\"supabase\"] },\n { purpose: \"Auth\", skills: [\"better-auth-drizzle-hono\", \"nextauth\", \"clerk\"] },\n ],\n },\n};\n","import type { SkillAssignment, Stack } from \"../../types\";\n\n/**\n * Built-in stack definitions, equivalent to config/stacks.ts.\n * Source repos may override or extend these via their own stacks files.\n *\n * All values are already in normalized form (SkillAssignment[] with { id, preloaded }).\n */\n\nconst SHARED_TOOLING: SkillAssignment[] = [\n { id: \"shared-tooling-eslint-prettier\", preloaded: false },\n { id: \"shared-tooling-typescript-config\", preloaded: false },\n { id: \"shared-tooling-git-hooks\", preloaded: false },\n];\n\nexport const defaultStacks: Stack[] = [\n {\n id: \"nextjs-fullstack\",\n name: \"Next.js Fullstack\",\n description: \"Next.js + Hono full-stack\",\n philosophy: \"Ship fast, iterate faster\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: true }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"cli-developer\": {\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: true }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"cli-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-cli-reviewing\", preloaded: true }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-scss-modules\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-zustand\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-server-state-react-query\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"web-mocking\": [{ id: \"web-mocks-msw\", preloaded: false }],\n \"web-accessibility\": [{ id: \"web-accessibility-web-accessibility\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"api-analytics\": [{ id: \"api-analytics-posthog-analytics\", preloaded: false }],\n \"api-email\": [{ id: \"api-email-resend-react-email\", preloaded: false }],\n \"shared-ci-cd\": [{ id: \"shared-ci-cd-github-actions\", preloaded: false }],\n \"cli-framework\": [{ id: \"cli-framework-cli-commander\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"cli-tester\": {},\n },\n },\n {\n id: \"angular-stack\",\n name: \"Modern Angular Stack\",\n description: \"Angular + Signals stack\",\n philosophy: \"Enterprise-grade and type-safe\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: true }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-angular-standalone\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-ngrx-signalstore\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"nuxt-stack\",\n name: \"Nuxt Full-Stack\",\n description: \"Vue + Nuxt full-stack\",\n philosophy: \"Progressive Vue with Nuxt power\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: true }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nuxt\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"remix-stack\",\n name: \"Remix Full-Stack\",\n description: \"Remix + form-centric DX\",\n philosophy: \"Web standards and excellent forms handling\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: true }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-remix\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"vue-stack\",\n name: \"Modern Vue Stack\",\n description: \"Vue + Pinia + Tailwind\",\n philosophy: \"Progressive and approachable\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: true }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-vue-composition-api\", preloaded: false }],\n \"web-client-state\": [{ id: \"web-state-pinia\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"solidjs-stack\",\n name: \"SolidJS Stack\",\n description: \"SolidJS + Hono full-stack\",\n philosophy: \"Maximum performance with minimal overhead\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: true }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-solidjs\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"t3-stack\",\n name: \"T3 Stack\",\n description: \"Next.js + tRPC + Prisma + Tailwind\",\n philosophy: \"End-to-end type safety with great DX\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: true }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: true }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-react\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-nextjs\", preloaded: false }],\n \"web-styling\": [{ id: \"web-styling-tailwind\", preloaded: false }],\n \"web-server-state\": [{ id: \"web-data-fetching-trpc\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-prisma\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-nextauth\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"sveltekit-stack\",\n name: \"SvelteKit Full-Stack\",\n description: \"Svelte 5 + SvelteKit\",\n philosophy: \"Write less, do more with compiler magic\",\n agents: {\n \"web-developer\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: true }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-framework\": [{ id: \"web-framework-svelte\", preloaded: false }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-sveltekit\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-auth\": [{ id: \"api-auth-better-auth-drizzle-hono\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n {\n id: \"astro-stack\",\n name: \"Astro Content Stack\",\n description: \"Astro content-first with islands\",\n philosophy: \"Ship less JavaScript, faster by default\",\n agents: {\n \"web-developer\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: true }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n \"web-tooling\": [{ id: \"web-tooling-vite\", preloaded: false }],\n },\n \"api-developer\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: true }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: true }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-tooling\": SHARED_TOOLING,\n },\n \"web-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-reviewer\": {\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pm\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-architecture\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-researcher\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n },\n \"api-researcher\": {\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"pattern-scout\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n },\n \"web-pattern-critique\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: true }],\n },\n \"agent-summoner\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"skill-summoner\": {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n documentor: {\n \"web-meta-framework\": [{ id: \"web-meta-framework-astro\", preloaded: false }],\n \"web-testing\": [{ id: \"web-testing-vitest\", preloaded: false }],\n \"api-api\": [{ id: \"api-framework-hono\", preloaded: false }],\n \"api-database\": [{ id: \"api-database-drizzle\", preloaded: false }],\n \"api-observability\": [{ id: \"api-observability-axiom-pino-sentry\", preloaded: false }],\n \"shared-meta\": [{ id: \"shared-meta-reviewing\", preloaded: false }],\n },\n \"web-tester\": {\n \"web-testing\": [\n { id: \"web-testing-playwright-e2e\", preloaded: false },\n { id: \"web-testing-vitest\", preloaded: false },\n ],\n },\n },\n },\n];\n"],"mappings":";;;;;;AAAA;AASO,SAAS,aAA4C,QAAc;AACxE,SAAO;AACT;;;ACXA;AAMO,IAAM,oBAAiC;AAAA,EAC5C,iBAAiB;AAAA,IACf,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,sBAAsB;AAAA,IACpB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,oBAAoB;AAAA,IAClB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,oBAAoB;AAAA,IAClB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,sBAAsB;AAAA,IACpB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AAAA,IACjB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,iBAAiB;AAAA,IACf,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,iBAAiB;AAAA,IACf,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AAAA,IACjB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,qBAAqB;AAAA,IACnB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,iBAAiB;AAAA,IACf,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AAAA,IACjB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,oBAAoB;AAAA,IAClB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AAAA,IACjB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,kBAAkB;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AAAA,IACjB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,iBAAiB;AAAA,IACf,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AACF;;;AC3UA;AAMO,IAAM,eAAiC;AAAA,EAC5C,SAAS;AAAA,EACT,eAAe;AAAA,IACb,WAAW;AAAA,MACT;AAAA,QACE,QAAQ,CAAC,SAAS,uBAAuB,sBAAsB,WAAW,QAAQ;AAAA,QAClF,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,UAAU,SAAS,aAAa,OAAO;AAAA,QAChD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,SAAS,WAAW,iBAAiB,MAAM;AAAA,QACpD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,oBAAoB,WAAW,SAAS,iBAAiB,MAAM;AAAA,QACxE,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,eAAe,KAAK;AAAA,QAC7B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,kBAAkB,cAAc;AAAA,QACzC,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,kBAAkB,aAAa;AAAA,QACxC,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,mBAAmB,cAAc;AAAA,QAC1C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,yBAAyB,gBAAgB;AAAA,QAClD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,QAAQ,WAAW,SAAS;AAAA,QACrC,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,WAAW,UAAU,SAAS;AAAA,QACvC,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,iBAAiB,WAAW;AAAA,QACrC,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,QACE,QAAQ,CAAC,WAAW,iBAAiB,MAAM;AAAA,QAC3C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,iBAAiB,SAAS;AAAA,QACnC,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,OAAO,aAAa;AAAA,QAC7B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,WAAW,MAAM;AAAA,QAC1B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,WAAW,SAAS;AAAA,QAC7B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,eAAe,gBAAgB;AAAA,QACxC,QACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA;AAAA,MAEd;AAAA,QACE,QAAQ,CAAC,iBAAiB,SAAS,UAAU,OAAO;AAAA,QACpD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,oBAAoB,SAAS,UAAU,OAAO;AAAA,QACvD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,wBAAwB,SAAS,UAAU,OAAO;AAAA,QAC3D,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,kBAAkB,SAAS,UAAU,OAAO;AAAA,QACrD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,mBAAmB,SAAS,UAAU,OAAO;AAAA,QACtD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,cAAc,SAAS,UAAU,OAAO;AAAA,QACjD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,eAAe,SAAS,UAAU,OAAO;AAAA,QAClD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,OAAO,SAAS,UAAU,OAAO;AAAA,QAC1C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,QAAQ,SAAS,UAAU,OAAO;AAAA,QAC3C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,SAAS,SAAS,UAAU,OAAO;AAAA,QAC5C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,QAAQ,SAAS,UAAU,OAAO;AAAA,QAC3C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,iBAAiB,SAAS,UAAU,OAAO;AAAA,QACpD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,WAAW,SAAS,UAAU,OAAO;AAAA,QAC9C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,yBAAyB,SAAS,UAAU,OAAO;AAAA,QAC5D,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,YAAY,SAAS,UAAU,OAAO;AAAA,QAC/C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,aAAa,SAAS,UAAU,OAAO;AAAA,QAChD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,kBAAkB,SAAS,UAAU,OAAO;AAAA,QACrD,QAAQ;AAAA,MACV;AAAA;AAAA,MAEA;AAAA,QACE,QAAQ,CAAC,aAAa,QAAQ;AAAA,QAC9B,QAAQ;AAAA,MACV;AAAA;AAAA,MAEA;AAAA,QACE,QAAQ,CAAC,gBAAgB,uBAAuB,MAAM;AAAA,QACtD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,YAAY,uBAAuB,MAAM;AAAA,QAClD,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,SAAS,uBAAuB,MAAM;AAAA,QAC/C,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ,CAAC,kBAAkB,uBAAuB,MAAM;AAAA,QACxD,QAAQ;AAAA,MACV;AAAA;AAAA,MAEA;AAAA,QACE,QAAQ,CAAC,oBAAoB,oBAAoB;AAAA,QACjD,QAAQ;AAAA,MACV;AAAA;AAAA,MAEA;AAAA,QACE,QAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,EAAE,OAAO,WAAW,QAAQ,uCAAuC;AAAA,MACnE,EAAE,OAAO,eAAe,QAAQ,wCAAwC;AAAA,MACxE,EAAE,OAAO,UAAU,QAAQ,8CAA8C;AAAA,MACzE,EAAE,OAAO,mBAAmB,QAAQ,0BAA0B;AAAA,MAC9D,EAAE,OAAO,yBAAyB,QAAQ,mCAAmC;AAAA,MAC7E,EAAE,OAAO,aAAa,QAAQ,mDAAmD;AAAA,MACjF,EAAE,OAAO,kBAAkB,QAAQ,0CAA0C;AAAA,MAC7E,EAAE,OAAO,SAAS,QAAQ,0CAA0C;AAAA,MACpE,EAAE,OAAO,gBAAgB,QAAQ,yCAAyC;AAAA,MAC1E,EAAE,OAAO,kBAAkB,QAAQ,gCAAgC;AAAA,MACnE,EAAE,OAAO,oBAAoB,QAAQ,yCAAyC;AAAA,MAC9E,EAAE,OAAO,YAAY,QAAQ,8BAA8B;AAAA,MAC3D,EAAE,OAAO,WAAW,QAAQ,8BAA8B;AAAA,MAC1D,EAAE,OAAO,4BAA4B,QAAQ,8BAA8B;AAAA,MAC3E,EAAE,OAAO,YAAY,QAAQ,2CAA2C;AAAA,MACxE,EAAE,OAAO,OAAO,QAAQ,4CAA4C;AAAA,MACpE,EAAE,OAAO,OAAO,QAAQ,sCAAsC;AAAA,MAC9D,EAAE,OAAO,kBAAkB,QAAQ,4BAA4B;AAAA,MAC/D,EAAE,OAAO,qBAAqB,QAAQ,sCAAsC;AAAA,MAC5E,EAAE,OAAO,UAAU,QAAQ,oCAAoC;AAAA,IACjE;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,OAAO;AAAA,QACf,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,OAAO;AAAA,QACf,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,qBAAqB;AAAA,QAC7B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,QAAQ;AAAA,QAChB,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,SAAS,cAAc;AAAA,QAClD,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,SAAS,cAAc;AAAA,QAClD,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,OAAO;AAAA,QAClC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,SAAS,cAAc;AAAA,QAClD,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,SAAS,cAAc;AAAA,QAClD,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,SAAS,cAAc;AAAA,QAClD,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,OAAO;AAAA,QAClC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,uBAAuB,MAAM;AAAA,QACrC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,uBAAuB,MAAM;AAAA,QACrC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,uBAAuB,MAAM;AAAA,QACrC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,oBAAoB;AAAA,QAC5B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,WAAW,QAAQ;AAAA,QAC3B,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,UAAU,OAAO;AAAA,QAClC,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,UAAU;AAAA,QAClB,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,uBAAuB,sBAAsB,UAAU,SAAS,MAAM;AAAA,QACvF,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO,CAAC,SAAS,uBAAuB,WAAW,UAAU,SAAS,MAAM;AAAA,QAC5E,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,SAAS,uBAAuB,sBAAsB,WAAW,QAAQ;AAAA,MACpF;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,UAAU,SAAS,QAAQ,aAAa,OAAO;AAAA,MAC1D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,gBAAgB,YAAY,KAAK;AAAA,MAC5C;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,WAAW,iBAAiB,QAAQ,OAAO;AAAA,MACtD;AAAA,MACA,EAAE,SAAS,sBAAsB,QAAQ,CAAC,OAAO,EAAE;AAAA,MACnD,EAAE,SAAS,0BAA0B,QAAQ,CAAC,kBAAkB,EAAE;AAAA,MAClE;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,eAAe,KAAK;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,kBAAkB,cAAc;AAAA,MAC3C;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,QAAQ,WAAW,SAAS;AAAA,MACvC;AAAA,MACA,EAAE,SAAS,sBAAsB,QAAQ,CAAC,WAAW,UAAU,SAAS,EAAE;AAAA,MAC1E,EAAE,SAAS,iBAAiB,QAAQ,CAAC,iBAAiB,EAAE;AAAA,MACxD,EAAE,SAAS,eAAe,QAAQ,CAAC,cAAc,EAAE;AAAA,MACnD,EAAE,SAAS,cAAc,QAAQ,CAAC,gBAAgB,EAAE;AAAA,MACpD,EAAE,SAAS,gBAAgB,QAAQ,CAAC,QAAQ,EAAE;AAAA,MAC9C,EAAE,SAAS,6BAA6B,QAAQ,CAAC,uBAAuB,EAAE;AAAA,MAC1E,EAAE,SAAS,2BAA2B,QAAQ,CAAC,gBAAgB,EAAE;AAAA,MACjE;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,kBAAkB,aAAa;AAAA,MAC1C;AAAA,MACA,EAAE,SAAS,eAAe,QAAQ,CAAC,KAAK,EAAE;AAAA,MAC1C,EAAE,SAAS,oCAAoC,QAAQ,CAAC,WAAW,EAAE;AAAA,MACrE,EAAE,SAAS,UAAU,QAAQ,CAAC,cAAc,EAAE;AAAA,MAC9C;AAAA,QACE,SAAS;AAAA,QACT,QAAQ,CAAC,iBAAiB,WAAW;AAAA,MACvC;AAAA,MACA,EAAE,SAAS,UAAU,QAAQ,CAAC,eAAe,EAAE;AAAA,MAC/C,EAAE,SAAS,wBAAwB,QAAQ,CAAC,UAAU,EAAE;AAAA,MACxD,EAAE,SAAS,QAAQ,QAAQ,CAAC,4BAA4B,YAAY,OAAO,EAAE;AAAA,IAC/E;AAAA,EACF;AACF;;;ACjZA;AASA,IAAM,iBAAoC;AAAA,EACxC,EAAE,IAAI,kCAAkC,WAAW,MAAM;AAAA,EACzD,EAAE,IAAI,oCAAoC,WAAW,MAAM;AAAA,EAC3D,EAAE,IAAI,4BAA4B,WAAW,MAAM;AACrD;AAEO,IAAM,gBAAyB;AAAA,EACpC;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,KAAK,CAAC;AAAA,QAChE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,KAAK,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,kBAAkB;AAAA,MACpB;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,KAAK,CAAC;AAAA,QACxE,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,MAC3D;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,6BAA6B,WAAW,KAAK,CAAC;AAAA,QACpE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,MAC3E;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,QACA,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,MAC3D;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,MAC3E;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,MAC3E;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,MAC3E;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,MAC1E;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACzE,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACzE,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QACpE,oBAAoB,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAClE,oBAAoB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC7E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,eAAe,CAAC,EAAE,IAAI,iBAAiB,WAAW,MAAM,CAAC;AAAA,QACzD,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,iBAAiB,CAAC,EAAE,IAAI,mCAAmC,WAAW,MAAM,CAAC;AAAA,QAC7E,aAAa,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QACtE,gBAAgB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACxE,iBAAiB,CAAC,EAAE,IAAI,+BAA+B,WAAW,MAAM,CAAC;AAAA,QACzE,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc,CAAC;AAAA,IACjB;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,KAAK,CAAC;AAAA,QAC7E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,oCAAoC,WAAW,MAAM,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,8BAA8B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,KAAK,CAAC;AAAA,QAC9E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,KAAK,CAAC;AAAA,QACzE,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,sBAAsB,CAAC,EAAE,IAAI,2BAA2B,WAAW,MAAM,CAAC;AAAA,QAC1E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,KAAK,CAAC;AAAA,QAChE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,KAAK,CAAC;AAAA,QAC1E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,KAAK,CAAC;AAAA,QAC9E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC/E,oBAAoB,CAAC,EAAE,IAAI,mBAAmB,WAAW,MAAM,CAAC;AAAA,QAChE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAClE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,QACnE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,KAAK,CAAC;AAAA,QAChE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,KAAK,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,KAAK,CAAC;AAAA,QACtE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,KAAK,CAAC;AAAA,QAC/D,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAC1D,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,MAC5D;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,MAC5D;AAAA,MACA,oBAAoB;AAAA,QAClB,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,MAC5D;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,MAC5D;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,MAC5D;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAC1D,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAC1D,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAC1D,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,6BAA6B,WAAW,MAAM,CAAC;AAAA,QAC5E,eAAe,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAChE,oBAAoB,CAAC,EAAE,IAAI,0BAA0B,WAAW,MAAM,CAAC;AAAA,QACvE,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,gBAAgB,CAAC,EAAE,IAAI,uBAAuB,WAAW,MAAM,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qBAAqB,WAAW,MAAM,CAAC;AAAA,QAC1D,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QACjE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,KAAK,CAAC;AAAA,QAC9E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,iBAAiB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QAClE,sBAAsB,CAAC,EAAE,IAAI,gCAAgC,WAAW,MAAM,CAAC;AAAA,QAC/E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,YAAY,CAAC,EAAE,IAAI,qCAAqC,WAAW,MAAM,CAAC;AAAA,QAC1E,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,iBAAiB;AAAA,QACf,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,KAAK,CAAC;AAAA,QAC1E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,kBAAkB;AAAA,QAClB,eAAe,CAAC,EAAE,IAAI,oBAAoB,WAAW,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,KAAK,CAAC;AAAA,QACzD,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,KAAK,CAAC;AAAA,QAChE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,kBAAkB;AAAA,MACpB;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,gBAAgB;AAAA,QACd,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,QAChE,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,UAAU;AAAA,QACR,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,oBAAoB;AAAA,QAClB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,kBAAkB;AAAA,QAChB,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,MAChE;AAAA,MACA,kBAAkB;AAAA,QAChB,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,iBAAiB;AAAA,QACf,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,MACvF;AAAA,MACA,wBAAwB;AAAA,QACtB,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,kBAAkB;AAAA,QAChB,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,kBAAkB;AAAA,QAChB,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,YAAY;AAAA,QACV,sBAAsB,CAAC,EAAE,IAAI,4BAA4B,WAAW,MAAM,CAAC;AAAA,QAC3E,eAAe,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC9D,WAAW,CAAC,EAAE,IAAI,sBAAsB,WAAW,MAAM,CAAC;AAAA,QAC1D,gBAAgB,CAAC,EAAE,IAAI,wBAAwB,WAAW,MAAM,CAAC;AAAA,QACjE,qBAAqB,CAAC,EAAE,IAAI,uCAAuC,WAAW,MAAM,CAAC;AAAA,QACrF,eAAe,CAAC,EAAE,IAAI,yBAAyB,WAAW,MAAM,CAAC;AAAA,MACnE;AAAA,MACA,cAAc;AAAA,QACZ,eAAe;AAAA,UACb,EAAE,IAAI,8BAA8B,WAAW,MAAM;AAAA,UACrD,EAAE,IAAI,sBAAsB,WAAW,MAAM;AAAA,QAC/C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -4,28 +4,29 @@ import {
4
4
  } from "./chunk-K77I4XGL.js";
5
5
  import {
6
6
  CategoryGrid
7
- } from "./chunk-GHBZ7NUI.js";
7
+ } from "./chunk-7NACNRFG.js";
8
8
  import {
9
9
  getDomainDisplayName,
10
10
  orderDomains
11
- } from "./chunk-LVNNP7T4.js";
11
+ } from "./chunk-UBNHVBSV.js";
12
12
  import {
13
13
  ViewTitle
14
14
  } from "./chunk-JNQKCZA3.js";
15
15
  import {
16
16
  useWizardStore
17
- } from "./chunk-EWGFIBBU.js";
17
+ } from "./chunk-PRG7PKZM.js";
18
18
  import {
19
19
  getAvailableSkills,
20
+ getDependentSkills,
20
21
  resolveAlias
21
- } from "./chunk-6W4H2K3Z.js";
22
+ } from "./chunk-WS3TL2AO.js";
22
23
  import {
23
24
  getSkillById,
24
25
  matrix
25
- } from "./chunk-NG2GGK6P.js";
26
+ } from "./chunk-JWMYAJHD.js";
26
27
  import {
27
28
  CLI_COLORS
28
- } from "./chunk-EGMQ3SXN.js";
29
+ } from "./chunk-FMYAYX6W.js";
29
30
  import {
30
31
  init_esm_shims
31
32
  } from "./chunk-DHET7RCE.js";
@@ -92,16 +93,21 @@ function buildCategoriesForDomain(domain, allSelections, selections, installedSk
92
93
  const filteredSkillOptions = useFrameworkFilter ? skillOptions.filter(
93
94
  (skill) => isCompatibleWithSelectedFrameworks(skill.id, selectedFrameworkIds)
94
95
  ) : skillOptions;
95
- const options = filteredSkillOptions.map((skill) => ({
96
- id: skill.id,
97
- state: skill.advisoryState,
98
- selected: skill.selected,
99
- local: getSkillById(skill.id).local,
100
- installed: installedSkillIds?.includes(skill.id) || false,
101
- scope: skillConfigs?.find((sc) => sc.id === skill.id)?.scope,
102
- hasUnmetRequirements: skill.hasUnmetRequirements,
103
- unmetRequirementsReason: skill.unmetRequirementsReason
104
- }));
96
+ const options = filteredSkillOptions.map((skill) => {
97
+ const dependents = skill.selected ? getDependentSkills(skill.id, allSelections) : [];
98
+ const firstDependent = dependents.length > 0 ? getSkillById(dependents[0]).displayName : void 0;
99
+ return {
100
+ id: skill.id,
101
+ state: skill.advisoryState,
102
+ selected: skill.selected,
103
+ local: getSkillById(skill.id).local,
104
+ installed: installedSkillIds?.includes(skill.id) || false,
105
+ scope: skillConfigs?.find((sc) => sc.id === skill.id)?.scope,
106
+ hasUnmetRequirements: skill.hasUnmetRequirements,
107
+ unmetRequirementsReason: skill.unmetRequirementsReason,
108
+ requiredBy: skill.selected ? firstDependent : void 0
109
+ };
110
+ });
105
111
  return {
106
112
  id: cat.id,
107
113
  displayName: cat.displayName,
@@ -203,4 +209,4 @@ export {
203
209
  validateBuildStep,
204
210
  StepBuild
205
211
  };
206
- //# sourceMappingURL=chunk-4EPFKZB5.js.map
212
+ //# sourceMappingURL=chunk-AE2QHAFO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/step-build.tsx","../src/cli/components/hooks/use-framework-filtering.ts","../src/cli/lib/wizard/index.ts","../src/cli/lib/wizard/build-step-logic.ts"],"sourcesContent":["import { Box, Text, useInput } from \"ink\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { Domain, SkillId, Category, CategorySelections } from \"../../types/index.js\";\nimport { useFrameworkFiltering } from \"../hooks/use-framework-filtering.js\";\nimport { useMeasuredHeight } from \"../hooks/use-measured-height.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { CategoryGrid } from \"./category-grid.js\";\nimport { getDomainDisplayName, orderDomains } from \"./utils.js\";\nimport { ViewTitle } from \"./view-title.js\";\n\nexport type StepBuildProps = {\n domain: Domain;\n selectedDomains: Domain[];\n selections: CategorySelections;\n allSelections: SkillId[];\n showLabels: boolean;\n /** Skill IDs already installed on disk, shown with a dimmed checkmark */\n installedSkillIds?: SkillId[];\n onToggle: (categoryId: Category, technologyId: SkillId) => void;\n onToggleLabels: () => void;\n onContinue: () => void;\n onBack: () => void;\n};\n\nexport const StepBuild: React.FC<StepBuildProps> = ({\n domain: activeDomain,\n selectedDomains,\n selections,\n allSelections,\n showLabels,\n installedSkillIds,\n onToggle,\n onToggleLabels,\n onContinue,\n onBack,\n}) => {\n const { ref: gridRef, measuredHeight: gridHeight } = useMeasuredHeight();\n const skillConfigs = useWizardStore((s) => s.skillConfigs);\n\n const handleFocusedSkillChange = useCallback(\n (id: SkillId | null) => useWizardStore.getState().setFocusedSkillId(id),\n [],\n );\n\n const orderedDomains = useMemo(() => orderDomains(selectedDomains), [selectedDomains]);\n\n const categories = useFrameworkFiltering({\n domain: activeDomain,\n allSelections,\n selections,\n installedSkillIds,\n skillConfigs,\n });\n\n useInput((_input, key) => {\n if (key.return) {\n onContinue();\n } else if (key.escape) {\n onBack();\n }\n });\n\n return (\n <Box flexDirection=\"column\" width=\"100%\" flexGrow={1} flexBasis={0}>\n <Box\n columnGap={2}\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n marginBottom={1}\n paddingRight={1}\n marginTop={-1}\n borderTop={false}\n borderRight={false}\n borderLeft={false}\n borderColor={CLI_COLORS.NEUTRAL}\n borderStyle=\"single\"\n >\n <Box columnGap={2} flexDirection=\"row\">\n {orderedDomains.map((domain) => {\n const isActive = domain === activeDomain;\n return (\n <Text key={domain} color={isActive ? CLI_COLORS.WARNING : undefined} bold={isActive}>\n {getDomainDisplayName(domain)}\n </Text>\n );\n })}\n </Box>\n </Box>\n <ViewTitle>{`Customize your ${getDomainDisplayName(activeDomain)} stack`}</ViewTitle>\n\n <Box ref={gridRef} flexGrow={1} flexBasis={0}>\n <CategoryGrid\n key={activeDomain}\n categories={categories}\n availableHeight={gridHeight}\n showLabels={showLabels}\n onToggle={onToggle}\n onToggleLabels={onToggleLabels}\n onFocusedSkillChange={handleFocusedSkillChange}\n />\n </Box>\n </Box>\n );\n};\n","import { useMemo } from \"react\";\nimport type { Domain, SkillId, CategorySelections } from \"../../types/index.js\";\nimport type { SkillConfig } from \"../../types/config.js\";\nimport { buildCategoriesForDomain } from \"../../lib/wizard/index.js\";\nimport type { CategoryRow } from \"../wizard/category-grid.js\";\n\ntype UseFrameworkFilteringOptions = {\n domain: Domain;\n allSelections: SkillId[];\n selections: CategorySelections;\n installedSkillIds?: SkillId[];\n skillConfigs?: SkillConfig[];\n};\n\nexport function useFrameworkFiltering({\n domain,\n allSelections,\n selections,\n installedSkillIds,\n skillConfigs,\n}: UseFrameworkFilteringOptions): CategoryRow[] {\n return useMemo(\n () =>\n buildCategoriesForDomain(domain, allSelections, selections, installedSkillIds, skillConfigs),\n [domain, allSelections, selections, installedSkillIds, skillConfigs],\n );\n}\n","export {\n type BuildStepValidation,\n validateBuildStep,\n buildCategoriesForDomain,\n} from \"./build-step-logic\";\n","import { sortBy } from \"remeda\";\nimport type { CategoryDefinition, Domain, SkillId, CategorySelections } from \"../../types/index.js\";\nimport type { SkillConfig } from \"../../types/config.js\";\nimport { getAvailableSkills, resolveAlias, getDependentSkills } from \"../matrix/index.js\";\nimport { matrix, getSkillById } from \"../matrix/matrix-provider.js\";\nimport type { CategoryRow, CategoryOption } from \"../../components/wizard/category-grid.js\";\n\nconst FRAMEWORK_CATEGORY_ID = \"web-framework\";\nconst WEB_DOMAIN_ID = \"web\";\n\nexport type BuildStepValidation = {\n valid: boolean;\n message?: string;\n};\n\nexport function validateBuildStep(\n categories: CategoryRow[],\n selections: CategorySelections,\n): BuildStepValidation {\n for (const category of categories) {\n if (category.required) {\n const categorySelections = selections[category.id] || [];\n if (categorySelections.length === 0) {\n return {\n valid: true,\n message: `No skills selected in ${category.displayName} (required category)`,\n };\n }\n }\n }\n return { valid: true };\n}\n\nfunction isFrameworkSelected(selections: CategorySelections): boolean {\n const frameworkSelections = selections[FRAMEWORK_CATEGORY_ID] ?? [];\n return frameworkSelections.length > 0;\n}\n\nfunction getSelectedFrameworks(selections: CategorySelections): SkillId[] {\n const frameworkSelections = selections[FRAMEWORK_CATEGORY_ID] ?? [];\n return frameworkSelections.map((alias) => resolveAlias(alias));\n}\n\nfunction isCompatibleWithSelectedFrameworks(\n skillId: SkillId,\n selectedFrameworkIds: SkillId[],\n): boolean {\n const skill = getSkillById(skillId);\n\n // No compatibleWith = compatible with all (allows legacy skills to appear)\n if (skill.compatibleWith.length === 0) {\n return true;\n }\n\n return selectedFrameworkIds.some((frameworkId) => skill.compatibleWith.includes(frameworkId));\n}\n\n// Build CategoryRow[] from matrix for a domain, with framework-first filtering for web\nexport function buildCategoriesForDomain(\n domain: Domain,\n allSelections: SkillId[],\n selections: CategorySelections,\n installedSkillIds?: SkillId[],\n skillConfigs?: SkillConfig[],\n): CategoryRow[] {\n const frameworkSource = selections;\n const frameworkSelected = isFrameworkSelected(frameworkSource);\n const selectedFrameworkIds = frameworkSelected ? getSelectedFrameworks(frameworkSource) : [];\n\n // Object.values() on a Partial record only yields values that exist — all are CategoryDefinition\n const categories = sortBy(\n (Object.values(matrix.categories) as CategoryDefinition[]).filter(\n (cat) => cat.domain === domain,\n ),\n (cat) => cat.order ?? 0,\n );\n\n const categoryRows: CategoryRow[] = categories.map((cat) => {\n const skillOptions = getAvailableSkills(cat.id, allSelections);\n\n const useFrameworkFilter =\n domain === WEB_DOMAIN_ID && cat.id !== FRAMEWORK_CATEGORY_ID && frameworkSelected;\n const filteredSkillOptions = useFrameworkFilter\n ? skillOptions.filter((skill) =>\n isCompatibleWithSelectedFrameworks(skill.id, selectedFrameworkIds),\n )\n : skillOptions;\n\n const options: CategoryOption[] = filteredSkillOptions.map((skill) => {\n // Check if any currently selected skill depends on this one\n const dependents = skill.selected ? getDependentSkills(skill.id, allSelections) : [];\n const firstDependent =\n dependents.length > 0 ? getSkillById(dependents[0]).displayName : undefined;\n\n return {\n id: skill.id,\n state: skill.advisoryState,\n selected: skill.selected,\n local: getSkillById(skill.id).local,\n installed: installedSkillIds?.includes(skill.id) || false,\n scope: skillConfigs?.find((sc) => sc.id === skill.id)?.scope,\n hasUnmetRequirements: skill.hasUnmetRequirements,\n unmetRequirementsReason: skill.unmetRequirementsReason,\n requiredBy: skill.selected ? firstDependent : undefined,\n };\n });\n\n return {\n id: cat.id,\n displayName: cat.displayName,\n required: cat.required ?? false,\n exclusive: cat.exclusive ?? true,\n options,\n };\n });\n\n return categoryRows.filter((row) => row.options.length > 0);\n}\n"],"mappings":"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","names":["useMemo","useMemo"]}
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  WIZARD_STEPS,
4
4
  WizardTabs
5
- } from "./chunk-SXGBPQY6.js";
5
+ } from "./chunk-2I5SXGXR.js";
6
6
  import {
7
7
  FEATURE_FLAGS
8
8
  } from "./chunk-V36FRPAU.js";
9
9
  import {
10
10
  HelpModal
11
- } from "./chunk-2PZ7LBFT.js";
11
+ } from "./chunk-IDN2OZJY.js";
12
12
  import {
13
13
  useWizardStore
14
- } from "./chunk-EWGFIBBU.js";
14
+ } from "./chunk-PRG7PKZM.js";
15
15
  import {
16
16
  HOTKEY_HELP,
17
17
  HOTKEY_SCOPE,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-CBYRFAUN.js";
26
26
  import {
27
27
  CLI_COLORS
28
- } from "./chunk-EGMQ3SXN.js";
28
+ } from "./chunk-FMYAYX6W.js";
29
29
  import {
30
30
  init_esm_shims
31
31
  } from "./chunk-DHET7RCE.js";
@@ -199,4 +199,4 @@ var WizardLayout = ({
199
199
  export {
200
200
  WizardLayout
201
201
  };
202
- //# sourceMappingURL=chunk-OZ4DXMRF.js.map
202
+ //# sourceMappingURL=chunk-CBJTSEI2.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  cliTheme
4
- } from "./chunk-T5DJCIUP.js";
4
+ } from "./chunk-3REKTRAN.js";
5
5
  import {
6
6
  useTextInput
7
7
  } from "./chunk-U3IGFMCY.js";
@@ -17,7 +17,7 @@ import {
17
17
  CLI_COLORS,
18
18
  UI_LAYOUT,
19
19
  UI_SYMBOLS
20
- } from "./chunk-EGMQ3SXN.js";
20
+ } from "./chunk-FMYAYX6W.js";
21
21
  import {
22
22
  init_esm_shims
23
23
  } from "./chunk-DHET7RCE.js";
@@ -105,7 +105,6 @@ function matchesQuery(skill, query) {
105
105
  if (skill.slug.toLowerCase().includes(lowerQuery)) return true;
106
106
  if (skill.description.toLowerCase().includes(lowerQuery)) return true;
107
107
  if (skill.category.toLowerCase().includes(lowerQuery)) return true;
108
- if (skill.tags.some((tag) => tag.toLowerCase().includes(lowerQuery))) return true;
109
108
  return skill.sourceName.toLowerCase().includes(lowerQuery);
110
109
  }
111
110
  function truncate(text, maxLength) {
@@ -352,4 +351,4 @@ var SkillSearch = ({
352
351
  export {
353
352
  SkillSearch
354
353
  };
355
- //# sourceMappingURL=chunk-HT5KOOUQ.js.map
354
+ //# sourceMappingURL=chunk-CCSU4R65.js.map