@wascartech/devbot 0.0.0-stage → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +638 -2
  3. package/dist/access-grant-store.js +99 -0
  4. package/dist/access-grant-store.js.map +1 -0
  5. package/dist/access-resolve.js +11 -0
  6. package/dist/access-resolve.js.map +1 -0
  7. package/dist/access-rule-store.js +99 -0
  8. package/dist/access-rule-store.js.map +1 -0
  9. package/dist/admin/access-routes.js +73 -0
  10. package/dist/admin/access-routes.js.map +1 -0
  11. package/dist/admin/access-rule-routes.js +107 -0
  12. package/dist/admin/access-rule-routes.js.map +1 -0
  13. package/dist/admin/custom-repos-routes.js +93 -0
  14. package/dist/admin/custom-repos-routes.js.map +1 -0
  15. package/dist/admin/env-routes.js +74 -0
  16. package/dist/admin/env-routes.js.map +1 -0
  17. package/dist/admin/global-settings-routes.js +254 -0
  18. package/dist/admin/global-settings-routes.js.map +1 -0
  19. package/dist/admin/mcp-cleanup.js +12 -0
  20. package/dist/admin/mcp-cleanup.js.map +1 -0
  21. package/dist/admin/mcp-routes.js +169 -0
  22. package/dist/admin/mcp-routes.js.map +1 -0
  23. package/dist/admin/query-params.js +80 -0
  24. package/dist/admin/query-params.js.map +1 -0
  25. package/dist/admin/routes.js +150 -0
  26. package/dist/admin/routes.js.map +1 -0
  27. package/dist/admin/run-history-routes.js +44 -0
  28. package/dist/admin/run-history-routes.js.map +1 -0
  29. package/dist/admin/run-routes.js +99 -0
  30. package/dist/admin/run-routes.js.map +1 -0
  31. package/dist/admin/settings-routes.js +119 -0
  32. package/dist/admin/settings-routes.js.map +1 -0
  33. package/dist/admin/stats-routes.js +51 -0
  34. package/dist/admin/stats-routes.js.map +1 -0
  35. package/dist/admin/task-routes.js +213 -0
  36. package/dist/admin/task-routes.js.map +1 -0
  37. package/dist/admin/test-routes.js +38 -0
  38. package/dist/admin/test-routes.js.map +1 -0
  39. package/dist/admin/volume-routes.js +82 -0
  40. package/dist/admin/volume-routes.js.map +1 -0
  41. package/dist/admin/webhook-routes.js +174 -0
  42. package/dist/admin/webhook-routes.js.map +1 -0
  43. package/dist/agents.js +48 -0
  44. package/dist/agents.js.map +1 -0
  45. package/dist/assignee-value.js +6 -0
  46. package/dist/assignee-value.js.map +1 -0
  47. package/dist/attachments.js +76 -0
  48. package/dist/attachments.js.map +1 -0
  49. package/dist/auto-commands.js +88 -0
  50. package/dist/auto-commands.js.map +1 -0
  51. package/dist/auto-features.js +32 -0
  52. package/dist/auto-features.js.map +1 -0
  53. package/dist/base-branch-store.js +40 -0
  54. package/dist/base-branch-store.js.map +1 -0
  55. package/dist/base-branches.js +9 -0
  56. package/dist/base-branches.js.map +1 -0
  57. package/dist/build-workflow.js +116 -0
  58. package/dist/build-workflow.js.map +1 -0
  59. package/dist/change-request-lifecycle.js +16 -0
  60. package/dist/change-request-lifecycle.js.map +1 -0
  61. package/dist/change-request-store.js +72 -0
  62. package/dist/change-request-store.js.map +1 -0
  63. package/dist/ci-failure.js +80 -0
  64. package/dist/ci-failure.js.map +1 -0
  65. package/dist/cli.js +3 -0
  66. package/dist/cli.js.map +1 -0
  67. package/dist/config.js +17 -0
  68. package/dist/config.js.map +1 -0
  69. package/dist/conflict-fix.js +178 -0
  70. package/dist/conflict-fix.js.map +1 -0
  71. package/dist/cookie.js +70 -0
  72. package/dist/cookie.js.map +1 -0
  73. package/dist/crypto-util.js +40 -0
  74. package/dist/crypto-util.js.map +1 -0
  75. package/dist/custom-repos-store.js +90 -0
  76. package/dist/custom-repos-store.js.map +1 -0
  77. package/dist/custom-repos-sync.js +118 -0
  78. package/dist/custom-repos-sync.js.map +1 -0
  79. package/dist/db.js +12 -0
  80. package/dist/db.js.map +1 -0
  81. package/dist/devbot-scripts.js +18 -0
  82. package/dist/devbot-scripts.js.map +1 -0
  83. package/dist/devcontainer.js +150 -0
  84. package/dist/devcontainer.js.map +1 -0
  85. package/dist/env-config-store.js +132 -0
  86. package/dist/env-config-store.js.map +1 -0
  87. package/dist/error-log-store.js +193 -0
  88. package/dist/error-log-store.js.map +1 -0
  89. package/dist/git.js +605 -0
  90. package/dist/git.js.map +1 -0
  91. package/dist/global-queue.js +127 -0
  92. package/dist/global-queue.js.map +1 -0
  93. package/dist/global-settings-store.js +307 -0
  94. package/dist/global-settings-store.js.map +1 -0
  95. package/dist/help.js +41 -0
  96. package/dist/help.js.map +1 -0
  97. package/dist/http-csp.js +15 -0
  98. package/dist/http-csp.js.map +1 -0
  99. package/dist/http-util.js +40 -0
  100. package/dist/http-util.js.map +1 -0
  101. package/dist/idempotency.js +50 -0
  102. package/dist/idempotency.js.map +1 -0
  103. package/dist/lifecycle.js +234 -0
  104. package/dist/lifecycle.js.map +1 -0
  105. package/dist/logger.js +33 -0
  106. package/dist/logger.js.map +1 -0
  107. package/dist/lsp-servers.js +81 -0
  108. package/dist/lsp-servers.js.map +1 -0
  109. package/dist/mcp/auth.js +62 -0
  110. package/dist/mcp/auth.js.map +1 -0
  111. package/dist/mcp/effective-mcp.js +42 -0
  112. package/dist/mcp/effective-mcp.js.map +1 -0
  113. package/dist/mcp/oauth-refresh.js +138 -0
  114. package/dist/mcp/oauth-refresh.js.map +1 -0
  115. package/dist/mcp/peer-sync.js +109 -0
  116. package/dist/mcp/peer-sync.js.map +1 -0
  117. package/dist/mcp/registry.js +54 -0
  118. package/dist/mcp/registry.js.map +1 -0
  119. package/dist/mcp/runner-bridge.js +93 -0
  120. package/dist/mcp/runner-bridge.js.map +1 -0
  121. package/dist/mcp/server.js +173 -0
  122. package/dist/mcp/server.js.map +1 -0
  123. package/dist/mcp/tools/_helpers.js +88 -0
  124. package/dist/mcp/tools/_helpers.js.map +1 -0
  125. package/dist/mcp/tools/attachments.js +117 -0
  126. package/dist/mcp/tools/attachments.js.map +1 -0
  127. package/dist/mcp/tools/cicd.js +105 -0
  128. package/dist/mcp/tools/cicd.js.map +1 -0
  129. package/dist/mcp/tools/discovery.js +34 -0
  130. package/dist/mcp/tools/discovery.js.map +1 -0
  131. package/dist/mcp/tools/issues.js +56 -0
  132. package/dist/mcp/tools/issues.js.map +1 -0
  133. package/dist/mcp/tools/merge_requests.js +67 -0
  134. package/dist/mcp/tools/merge_requests.js.map +1 -0
  135. package/dist/mcp/tools/metadata.js +127 -0
  136. package/dist/mcp/tools/metadata.js.map +1 -0
  137. package/dist/mcp/tools/peer_sync.js +43 -0
  138. package/dist/mcp/tools/peer_sync.js.map +1 -0
  139. package/dist/mcp/tools/repository.js +178 -0
  140. package/dist/mcp/tools/repository.js.map +1 -0
  141. package/dist/mcp/tools/work_tracking.js +125 -0
  142. package/dist/mcp/tools/work_tracking.js.map +1 -0
  143. package/dist/mcp/tools/workitems.js +30 -0
  144. package/dist/mcp/tools/workitems.js.map +1 -0
  145. package/dist/mcp/volume-files.js +187 -0
  146. package/dist/mcp/volume-files.js.map +1 -0
  147. package/dist/mcp-auth-store.js +134 -0
  148. package/dist/mcp-auth-store.js.map +1 -0
  149. package/dist/mcp-config-store.js +83 -0
  150. package/dist/mcp-config-store.js.map +1 -0
  151. package/dist/mention.js +512 -0
  152. package/dist/mention.js.map +1 -0
  153. package/dist/migrate.js +438 -0
  154. package/dist/migrate.js.map +1 -0
  155. package/dist/mr-assignee.js +71 -0
  156. package/dist/mr-assignee.js.map +1 -0
  157. package/dist/mr-content.js +90 -0
  158. package/dist/mr-content.js.map +1 -0
  159. package/dist/oauth-routes.js +54 -0
  160. package/dist/oauth-routes.js.map +1 -0
  161. package/dist/onboarding-allowlist.js +32 -0
  162. package/dist/onboarding-allowlist.js.map +1 -0
  163. package/dist/opencode.js +291 -0
  164. package/dist/opencode.js.map +1 -0
  165. package/dist/outbound-webhook-store.js +229 -0
  166. package/dist/outbound-webhook-store.js.map +1 -0
  167. package/dist/outbound-webhook.js +314 -0
  168. package/dist/outbound-webhook.js.map +1 -0
  169. package/dist/path-sandbox.js +200 -0
  170. package/dist/path-sandbox.js.map +1 -0
  171. package/dist/platform/git-auth.js +34 -0
  172. package/dist/platform/git-auth.js.map +1 -0
  173. package/dist/platform/gitealike/attachments.js +62 -0
  174. package/dist/platform/gitealike/attachments.js.map +1 -0
  175. package/dist/platform/gitealike/base.js +935 -0
  176. package/dist/platform/gitealike/base.js.map +1 -0
  177. package/dist/platform/gitealike/forgejo.js +16 -0
  178. package/dist/platform/gitealike/forgejo.js.map +1 -0
  179. package/dist/platform/gitealike/gitea.js +16 -0
  180. package/dist/platform/gitealike/gitea.js.map +1 -0
  181. package/dist/platform/gitealike/http.js +152 -0
  182. package/dist/platform/gitealike/http.js.map +1 -0
  183. package/dist/platform/gitealike/schemas.js +284 -0
  184. package/dist/platform/gitealike/schemas.js.map +1 -0
  185. package/dist/platform/github/attachments.js +52 -0
  186. package/dist/platform/github/attachments.js.map +1 -0
  187. package/dist/platform/github/http.js +153 -0
  188. package/dist/platform/github/http.js.map +1 -0
  189. package/dist/platform/github/index.js +936 -0
  190. package/dist/platform/github/index.js.map +1 -0
  191. package/dist/platform/github/schemas.js +308 -0
  192. package/dist/platform/github/schemas.js.map +1 -0
  193. package/dist/platform/github/zip.js +85 -0
  194. package/dist/platform/github/zip.js.map +1 -0
  195. package/dist/platform/gitlab/admin.js +105 -0
  196. package/dist/platform/gitlab/admin.js.map +1 -0
  197. package/dist/platform/gitlab/api.js +229 -0
  198. package/dist/platform/gitlab/api.js.map +1 -0
  199. package/dist/platform/gitlab/attachments.js +79 -0
  200. package/dist/platform/gitlab/attachments.js.map +1 -0
  201. package/dist/platform/gitlab/http.js +165 -0
  202. package/dist/platform/gitlab/http.js.map +1 -0
  203. package/dist/platform/gitlab/index.js +630 -0
  204. package/dist/platform/gitlab/index.js.map +1 -0
  205. package/dist/platform/gitlab/oauth.js +58 -0
  206. package/dist/platform/gitlab/oauth.js.map +1 -0
  207. package/dist/platform/gitlab/read.js +182 -0
  208. package/dist/platform/gitlab/read.js.map +1 -0
  209. package/dist/platform/gitlab/schemas-read.js +274 -0
  210. package/dist/platform/gitlab/schemas-read.js.map +1 -0
  211. package/dist/platform/gitlab/schemas.js +251 -0
  212. package/dist/platform/gitlab/schemas.js.map +1 -0
  213. package/dist/platform/gitlab/signature.js +52 -0
  214. package/dist/platform/gitlab/signature.js.map +1 -0
  215. package/dist/platform/index.js +38 -0
  216. package/dist/platform/index.js.map +1 -0
  217. package/dist/platform/port.js +26 -0
  218. package/dist/platform/port.js.map +1 -0
  219. package/dist/platform/types.js +80 -0
  220. package/dist/platform/types.js.map +1 -0
  221. package/dist/podman.js +119 -0
  222. package/dist/podman.js.map +1 -0
  223. package/dist/project-sync.js +69 -0
  224. package/dist/project-sync.js.map +1 -0
  225. package/dist/prompt.js +47 -0
  226. package/dist/prompt.js.map +1 -0
  227. package/dist/queue-store.js +236 -0
  228. package/dist/queue-store.js.map +1 -0
  229. package/dist/queue.js +129 -0
  230. package/dist/queue.js.map +1 -0
  231. package/dist/redact.js +23 -0
  232. package/dist/redact.js.map +1 -0
  233. package/dist/run-files.js +297 -0
  234. package/dist/run-files.js.map +1 -0
  235. package/dist/run-filters.js +54 -0
  236. package/dist/run-filters.js.map +1 -0
  237. package/dist/run-history-store.js +229 -0
  238. package/dist/run-history-store.js.map +1 -0
  239. package/dist/run-log-sink.js +270 -0
  240. package/dist/run-log-sink.js.map +1 -0
  241. package/dist/run-log.js +97 -0
  242. package/dist/run-log.js.map +1 -0
  243. package/dist/run-usage.js +29 -0
  244. package/dist/run-usage.js.map +1 -0
  245. package/dist/run-view.js +112 -0
  246. package/dist/run-view.js.map +1 -0
  247. package/dist/runner.js +1094 -0
  248. package/dist/runner.js.map +1 -0
  249. package/dist/runtime-apply.js +26 -0
  250. package/dist/runtime-apply.js.map +1 -0
  251. package/dist/runtime-settings.js +71 -0
  252. package/dist/runtime-settings.js.map +1 -0
  253. package/dist/runtime-state.js +19 -0
  254. package/dist/runtime-state.js.map +1 -0
  255. package/dist/server.js +119 -0
  256. package/dist/server.js.map +1 -0
  257. package/dist/settings-store.js +320 -0
  258. package/dist/settings-store.js.map +1 -0
  259. package/dist/status.js +121 -0
  260. package/dist/status.js.map +1 -0
  261. package/dist/stop.js +56 -0
  262. package/dist/stop.js.map +1 -0
  263. package/dist/sweeps.js +87 -0
  264. package/dist/sweeps.js.map +1 -0
  265. package/dist/task-log.js +279 -0
  266. package/dist/task-log.js.map +1 -0
  267. package/dist/task-view.js +62 -0
  268. package/dist/task-view.js.map +1 -0
  269. package/dist/token-store.js +68 -0
  270. package/dist/token-store.js.map +1 -0
  271. package/dist/types/access.js +74 -0
  272. package/dist/types/access.js.map +1 -0
  273. package/dist/types/custom-repos.js +28 -0
  274. package/dist/types/custom-repos.js.map +1 -0
  275. package/dist/types/env-config.js +25 -0
  276. package/dist/types/env-config.js.map +1 -0
  277. package/dist/types/env.js +190 -0
  278. package/dist/types/env.js.map +1 -0
  279. package/dist/types/global-settings.js +178 -0
  280. package/dist/types/global-settings.js.map +1 -0
  281. package/dist/types/lsp-servers.js +145 -0
  282. package/dist/types/lsp-servers.js.map +1 -0
  283. package/dist/types/mcp-config.js +77 -0
  284. package/dist/types/mcp-config.js.map +1 -0
  285. package/dist/types/opencode.js +59 -0
  286. package/dist/types/opencode.js.map +1 -0
  287. package/dist/types/outbound-webhook.js +56 -0
  288. package/dist/types/outbound-webhook.js.map +1 -0
  289. package/dist/types/project-settings.js +114 -0
  290. package/dist/types/project-settings.js.map +1 -0
  291. package/dist/types/provider-registry.js +37 -0
  292. package/dist/types/provider-registry.js.map +1 -0
  293. package/dist/types/runtime-settings.js +78 -0
  294. package/dist/types/runtime-settings.js.map +1 -0
  295. package/dist/usage-stats.js +159 -0
  296. package/dist/usage-stats.js.map +1 -0
  297. package/dist/version.js +19 -0
  298. package/dist/version.js.map +1 -0
  299. package/dist/volume-gc.js +193 -0
  300. package/dist/volume-gc.js.map +1 -0
  301. package/dist/volume-manage.js +191 -0
  302. package/dist/volume-manage.js.map +1 -0
  303. package/dist/volume-store.js +122 -0
  304. package/dist/volume-store.js.map +1 -0
  305. package/dist/webhook.js +1106 -0
  306. package/dist/webhook.js.map +1 -0
  307. package/dist/work-item-auto-store.js +75 -0
  308. package/dist/work-item-auto-store.js.map +1 -0
  309. package/dist/work-item-branch-store.js +37 -0
  310. package/dist/work-item-branch-store.js.map +1 -0
  311. package/migrations/0001_initial.sql +59 -0
  312. package/migrations/0002_queue_status.sql +15 -0
  313. package/migrations/0003_work_item_base_branch.sql +14 -0
  314. package/migrations/0004_project_settings.sql +15 -0
  315. package/migrations/0005_global_settings.sql +34 -0
  316. package/migrations/0006_model_variants.sql +8 -0
  317. package/migrations/0007_container_error_logs.sql +21 -0
  318. package/migrations/0008_project_access_grants.sql +16 -0
  319. package/migrations/0009_drop_imported_legacy.sql +4 -0
  320. package/migrations/0010_container_error_log_model.sql +6 -0
  321. package/migrations/0011_container_error_log_title.sql +5 -0
  322. package/migrations/0012_pending_task_cancel.sql +6 -0
  323. package/migrations/0013_builder_image.sql +6 -0
  324. package/migrations/0014_build_workflow.sql +7 -0
  325. package/migrations/0015_access_rules.sql +24 -0
  326. package/migrations/0016_trigger_policy.sql +17 -0
  327. package/migrations/0017_attachment_upload.sql +8 -0
  328. package/migrations/0018_work_item_branch.sql +11 -0
  329. package/migrations/0019_auto_push_mr.sql +18 -0
  330. package/migrations/0020_outbound_webhooks.sql +47 -0
  331. package/migrations/0021_runtime_settings.sql +12 -0
  332. package/migrations/0022_auto_resolve_conflicts.sql +17 -0
  333. package/migrations/0023_ci_fail_auto_report.sql +27 -0
  334. package/migrations/0024_work_item_auto_override.sql +22 -0
  335. package/migrations/0025_run_history.sql +37 -0
  336. package/migrations/0026_run_history_task_seq.sql +6 -0
  337. package/migrations/0027_custom_repos.sql +11 -0
  338. package/migrations/0028_run_usage.sql +14 -0
  339. package/migrations/0029_drop_ocr_langs.sql +6 -0
  340. package/migrations/0030_mr_assignee.sql +9 -0
  341. package/migrations/0031_lsp_servers.sql +14 -0
  342. package/opencode-config/managed/devbot-agent-policy.md +61 -0
  343. package/opencode-config/managed/opencode.json +77 -0
  344. package/opencode-config/opencode.json +211 -0
  345. package/opencode-config/plugins/devbot-path-guard.js +224 -0
  346. package/package.json +158 -4
  347. package/public/assets/DashboardSidebarCollapse-rIuzCmVm.js +1 -0
  348. package/public/assets/DashboardToolbar-DFCUqZ4Z.js +1 -0
  349. package/public/assets/ErrorLogModal.vue_vue_type_script_setup_true_lang-BCyNIf1E.js +1 -0
  350. package/public/assets/ErrorLogsPage-DyYK2Rop.js +1 -0
  351. package/public/assets/LogSlideover.vue_vue_type_script_setup_true_lang-33xie7TE.js +1 -0
  352. package/public/assets/OverviewPage-CFfa0uwg.js +1 -0
  353. package/public/assets/PageGrid-CBROIU87.js +1 -0
  354. package/public/assets/PeriodRangePicker.vue_vue_type_script_setup_true_lang-DiFUNem7.js +1 -0
  355. package/public/assets/ProjectDetailPage-CreyvUit.js +1 -0
  356. package/public/assets/ProjectsPage-CFx8-elJ.js +1 -0
  357. package/public/assets/RunDetailSlideover.vue_vue_type_script_setup_true_lang-DopYYmCT.js +1 -0
  358. package/public/assets/RunsPage-CRnnXU4P.js +1 -0
  359. package/public/assets/Select-Bvx32Diz.js +1 -0
  360. package/public/assets/SelectMenu-BjMxc4VB.js +1 -0
  361. package/public/assets/SettingsPage-Bb6LM3wO.js +60 -0
  362. package/public/assets/TimeCell.vue_vue_type_script_setup_true_lang-DW_UB0Fu.js +1 -0
  363. package/public/assets/UsagePage-BLMDEsv-.js +332 -0
  364. package/public/assets/UsagePage-DodEeAjB.css +1 -0
  365. package/public/assets/VolumesPage-CxcLc3L2.js +1 -0
  366. package/public/assets/WebhookConfigPanel.vue_vue_type_script_setup_true_lang-B2V2GF6b.js +1 -0
  367. package/public/assets/WorkItemCell.vue_vue_type_script_setup_true_lang-BQn6vTjd.js +1 -0
  368. package/public/assets/index-BMbMibyb.js +4 -0
  369. package/public/assets/index-C5RBBrPj.js +30 -0
  370. package/public/assets/index-CgX29UgC.css +1 -0
  371. package/public/assets/usage-format-jsb31_O8.js +1 -0
  372. package/public/assets/useManagedProjects-8rtjRqVJ.js +1 -0
  373. package/public/assets/useRouteTab-DfwrcMic.js +1 -0
  374. package/public/favicon.ico +0 -0
  375. package/public/favicon.png +0 -0
  376. package/public/index.html +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5Y,OAAO,EAAE,WAAW,EAAE,aAAa,EAA4B,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACpI,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,CAAC,MAAM,WAAW,GAAG,kEAAkE,CAAC;AAE9F,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,sCAAsC;AACtC,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAC7B,KAAoE,EACpE,QAAiB,EACjB,MAAe;IAEf,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,QAAQ,CAAC;IAChH,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC;IAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,oCAAoC;AACpC,MAAM,UAAU,kBAAkB,CAChC,KAA8C,EAC9C,oBAA6B;IAE7B,OAAO,KAAK,CAAC,qBAAqB,KAAK,IAAI,IAAI,oBAAoB,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,KAAa;IAChE,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,OAAO,GAAG,EAAE;IACnD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,kDAAkD;AAClD,6EAA6E;AAC7E,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAChF,2EAA2E;AAC3E,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,OAAO,EAAE,iBAAiB,YAAY,OAAO;QAC7C,OAAO,EAAE,mBAAmB,YAAY,SAAS;QACjD,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,oCAAoC;KAC9C,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,uEAAuE;AACvE,yEAAyE;AACzE,0DAA0D;AAC1D,SAAS,OAAO,CACd,KAAa,EACb,IAAY,EACZ,OAAe,EACf,IAAI,GAAG,EAAE,EACT,WAA0B,IAAI,EAC9B,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,EAAE;IAEZ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChF,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,uCAAuC;AACvC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,cAAsB,EACtB,KAAe;IAEf,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACrF,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CACjF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,6DAA6D;AAC7D,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,0BAA0B;AAC1B,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,GAAG,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,qDAAqD;IACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,GAAG,oBAAoB,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAC9D,CAAC;IACD,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;YACzB,CAAC,CAAC,2BAA2B,GAAG,EAAE;YAClC,CAAC,CAAC,2BAA2B,GAAG,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB;KACrG,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,gBAA0B;IAC3E,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAe,EACf,IAAU,EACV,MAAc,EACd,UAAkD,EAAE,EACpD,KAAa,EACb,OAAO,GAAG,EAAE,EACZ,mBAA6B,EAAE,EAC/B,eAAuB,MAAM,CAAC,aAAa,EAC3C,OAAqD,EAAE;IAEvD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzC,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,uDAAuD;IACvD,sEAAsE;IACtE,0EAA0E;IAC1E,8EAA8E;IAC9E,2DAA2D;IAC3D,2EAA2E;IAC3E,mEAAmE;IACnE,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,cAAc;IACd,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;QACrG,+DAA+D;QAC/D,8DAA8D;QAC9D,YAAY,EAAE,uCAAuC;QACrD,IAAI,EAAE,GAAG,GAAG,eAAe;QAC3B,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,mDAAmD;QACnD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,YAAY,IAAI;QAC5D,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,2BAA2B;QAC3B,IAAI,EAAE,YAAY;QAClB,GAAG,UAAU,EAAE;QACf,uEAAuE;QACvE,0EAA0E;QAC1E,2DAA2D;QAC3D,GAAG,iBAAiB,EAAE;QACtB,GAAG,OAAO,CAAC,OAAO,CAAC;QACnB,wEAAwE;QACxE,0CAA0C;QAC1C,GAAG,eAAe,EAAE;QACpB,2EAA2E;QAC3E,0EAA0E;QAC1E,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACrD,sEAAsE;QACtE,+CAA+C;QAC/C,GAAG,gBAAgB;KACpB,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI;IACP,0EAA0E;IAC1E,iEAAiE;IACjE,gCAAgC,EAAE,KAAK,EACvC,UAAU,EAAE,MAAM;IAClB,+DAA+D;IAC/D,mEAAmE;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,uBAAuB;IACvB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAChD,OAAO,EAAE,YAAY,EACrB,QAAQ,EACR,SAAS,EAAE,IAAI,EAAE,oBAAoB;IACrC,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAC5B,GAAG,CAAC,MAAM,CAAC,CACZ,CAAC;IAEF,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9E,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,IAAI;QACJ,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC;QAC3B,6EAA6E;QAC7E,qDAAqD;QACrD,OAAO,EAAE,MAAM,CAAC,oBAAoB;QACpC,GAAG;QACH,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7H,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;KAClE,CAAC,CAAC;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAC9E,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAe;IACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE;QACxC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,MAAM,WAAW,EAAE,CAAC,SAAS;aAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,mCAAmC,MAAM,IAAI,CAAC;aACjG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAC1F,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/B,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CACrC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAChC,CAAC,CAAC,sHAAsH;YACxH,CAAC,CAAC,MAAM,CAAC,aAAa;gBACpB,CAAC,CAAC,gDAAgD,MAAM,wBAAwB;gBAChF,CAAC,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpJ,wEAAwE;QACxE,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/J,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;YACrE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,EAAE,CAAC,SAAS;SAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,MAAM,KAAK,CAAC;SACnF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAe;IAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,MAAM,WAAW,EAAE,CAAC,SAAS;aAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,6BAA6B,MAAM,IAAI,CAAC;aAC3F,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAC1F,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/B,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CACrC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAChC,CAAC,CAAC,0GAA0G;YAC5G,CAAC,CAAC,MAAM,CAAC,aAAa;gBACpB,CAAC,CAAC,0CAA0C,MAAM,wBAAwB;gBAC1E,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9I,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACnJ,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;YACrE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,EAAE,CAAC,SAAS;SAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,KAAK,CAAC,CAAC,CAAC,0BAA0B,MAAM,2BAA2B,CAAC;SAC3J,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAe;IAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;KACpC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,MAAM,WAAW,EAAE,CAAC,SAAS;aAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,6BAA6B,MAAM,2BAA2B,CAAC;aAClH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS;QAC5B,CAAC,CAAC,MAAM,mBAAmB,CACvB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAC1F,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/B,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CACrC;QACH,CAAC,CAAC,MAAM,cAAc,CAClB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAC1F,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAC/B,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CACrC,CAAC;IACN,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa;YAChC,CAAC,CAAC,2GAA2G;YAC7G,CAAC,CAAC,MAAM,CAAC,aAAa;gBACpB,CAAC,CAAC,6CAA6C,MAAM,wBAAwB;gBAC7E,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,CAAC;QACjJ,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACpJ,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;YACrE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,sEAAsE;IACtE,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,IAAI,2BAA2B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACnF,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EACrH,OAAO,EACP,YAAY,CACb,CAAC;QACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,iDAAiD,UAAU,CAAC,MAAM,qEAAqE,CAAC;iBACtN,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,8BAA8B,CAAC,EAAE,CAAC;QAC9I,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,MAA6D,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBACxH,MAAM,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7N,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,wHAAwH,CAAC;yBACvM,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,CAAC;gBACzJ,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC/J,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;gBACvF,IAAI,mBAAmB;oBAAE,OAAO,mBAAmB,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,KAAK,EACL,OAAO,EACP,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EACjD,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,OAAO,EAChB,EAAE,EACF,YAAY,EACZ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,KAAK,CAAC,UAAU,UAAU,EAAE,CAC1E,CAAC;gBACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;gBACzF,IAAI,oBAAoB;oBAAE,OAAO,oBAAoB,CAAC;gBACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnH,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ;oBAChC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC;oBACpK,CAAC,CAAC,IAAI,CAAC;gBACT,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC1I,OAAO,EACP,YAAY,CACb,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;6BACrI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACpE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChN,CAAC;oBACD,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;yBACzI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;oBACvE,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;yBAC7H,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAChE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4CAA4C,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9L,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,MAAM;oBAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,YAAY,KAAK,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACrG,4EAA4E;IAC5E,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,IAAI,EAAE,OAAgB;QACtB,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7G,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACtG,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;YAClF,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;QACtL,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,UAAU;gBAAE,GAAG,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChI,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC1E,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE,UAAU,CAAC,MAAM;gBAC/B,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;YACrE,mBAAmB,CAAC;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,EAAE,CAAC,MAAM;gBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;YACH,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7I,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;QAClJ,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAe;IACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE;QAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,MAAM,WAAW,EAAE,CAAC,SAAS;aAC1B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,yDAAyD,MAAM,IAAI,CAAC;aACvH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,qEAAqE;IACrE,2EAA2E;IAC3E,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,kHAAkH,CAAC;aACjM,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC;IAC1I,CAAC;IAED,oEAAoE;IACpE,8EAA8E;IAC9E,iDAAiD;IACjD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7G,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9H,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACvB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpK,OAAO,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC;YACD,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC,CAAC;QAC9F,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,gDAAgD,MAAM,mBAAmB,CAAC;aACxJ,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACnF,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAClG,OAAO,EACP,YAAY,CACb,CAAC;IACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,iDAAiD,MAAM,yCAAyC,CAAC;aAC/K,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,8BAA8B,CAAC,EAAE,CAAC;IAC9I,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;aAC5G,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,MAA6D,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACxH,MAAM,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7N,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,mHAAmH,CAAC;iBAClM,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qCAAqC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,CAAC;QACpJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/J,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QACvF,IAAI,mBAAmB;YAAE,OAAO,mBAAmB,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,KAAK,EACL,OAAO,EACP,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,OAAO,EAChB,EAAE,EACF,YAAY,EACZ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,KAAK,CAAC,UAAU,UAAU,EAAE,CAC1E,CAAC;QACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QACzF,IAAI,oBAAoB;YAAE,OAAO,oBAAoB,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnH,mEAAmE;QACnE,6EAA6E;QAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ;YAChC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC;YACjJ,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC1I,OAAO,EACP,YAAY,CACb,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;qBACjI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChN,CAAC;YACD,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;iBAC9H,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aACzH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,uCAAuC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACzL,CAAC;YAAS,CAAC;QACT,IAAI,MAAM;YAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,4EAA4E;AAC5E,iEAAiE;AACjE,iFAAiF;AACjF,sEAAsE;AACtE,+EAA+E;AAC/E,8EAA8E;AAC9E,2DAA2D;AAC3D,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,UAAkB,EAClB,QAAkB,EAClB,KAAa,EACb,OAAe;IAEf,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAChD,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oEAAoE;QACpE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,wCAAwC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB;YACrF,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,oCAAoC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;SACtM,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,oEAAoE;QACpE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,sDAAsD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+GAA+G;YAC9L,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;SACxK,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,KAAe;IACvC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,KAAK,CAAC,IAAI,eAAe,MAAM,UAAU,CAAC;aAC7I,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAE9C,2EAA2E;IAC3E,6EAA6E;IAC7E,4DAA4D;IAC5D,IAAI,MAA6D,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAE3H,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3C,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QAED,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,6EAA6E;QAC7E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1C,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,IAAI,gBAAgB,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;YACzF,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,KAAK,CAAC,UAAU,mDAAmD,gBAAgB,IAAI,CAAC;iBACrL,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,uCAAuC;QACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAE5F,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EACxB,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,CACpB,CAAC;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9E,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACrH,uEAAuE;YACvE,2EAA2E;YAC3E,0EAA0E;YAC1E,gCAAgC;YAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;mBAC5D,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC;mBAClD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9I,kEAAkE;YAClE,2DAA2D;YAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;mBACzD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC;mBAClD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvH,OAAO,WAAW;gBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC/D,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAEtE,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC1G,MAAM,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACjG,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,aAAa,KAAK,CAAC,UAAU,4CAA4C,CAAC;iBACxJ,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;YACvC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;YACvC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,uEAAuE;QACvE,0EAA0E;QAC1E,4EAA4E;QAC5E,6DAA6D;QAC7D,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,eAAe,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,WAAW,EAAE,CAAC,SAAS;qBAC1B,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC;qBACzF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhF,0EAA0E;QAC1E,sEAAsE;QACtE,2EAA2E;QAC3E,MAAM,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7M,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACjF,IAAI,mBAAmB;YAAE,OAAO,mBAAmB,CAAC;QAEpD,qEAAqE;QACrE,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,6BAA6B;QAC7B,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACjH,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC,CACvF,CAAC;QAEF,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,uDAAuD;QACvD,IAAI,gBAAgB,GAAa,EAAE,CAAC;QACpC,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAAC,yBAAyB,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1F,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACvE,gBAAgB,GAAG;gBACjB,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC3B,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC7D,GAAG,mBAAmB,EAAE;aACzB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,4EAA4E;QAC5E,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBAChG,qEAAqE;gBACrE,uEAAuE;gBACvE,sDAAsD;gBACtD,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,kEAAkE;gBAClE,mEAAmE;gBACnE,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,uEAAuE;QACvE,+DAA+D;QAC/D,4EAA4E;QAC5E,iEAAiE;QACjE,sEAAsE;QACtE,oEAAoE;QACpE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnI,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;YACpJ,OAAO,UAAU,CAAC,OAAO,CAAC;QAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;QACnC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,iBAAiB,GAAG,cAAc,uBAAuB,EAAE,EAAE,CAAC;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,4BAA4B;QAC5B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnF,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,EAAE;gBAAE,SAAS,GAAG,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QACD,uEAAuE;QACvE,8EAA8E;QAC9E,0CAA0C;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrI,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO;YACnC,CAAC,CAAC,GAAG,UAAU,GAAG,iBAAiB,GAAG,UAAU,aAAa;gBAC3D,mBAAmB,CAAC;oBAClB,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,MAAM,EAAE,UAAU;oBAClB,QAAQ;oBACR,QAAQ,EAAE,MAAM,CAAC,aAAa;oBAC9B,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC;YACJ,CAAC,CAAC,GAAG,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtK,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAEhD,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;YACpD,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAErD,yEAAyE;QACzE,8EAA8E;QAC9E,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnG,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxG,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,2EAA2E;YAC3E,qEAAqE;YACrE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,wBAAwB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3O,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,MAAM,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5N,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrG,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7M,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,oEAAoE;QACpE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACnF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3E,IAAI,mBAAmB;gBAAE,OAAO,mBAAmB,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACrM,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,CACpB,CAAC;YACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,yDAAyD,EAAE;oBAClE,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClF,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC;qBACjH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1E,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,yBAAyB,CAAC;qBACxG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClG,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,cAAc,UAAU,KAAK,CAAC;qBAC5G,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC;YAC1B,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,qEAAqE;YACrE,oEAAoE;YACpE,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC3D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;gBACnF,IAAI,iBAAiB;oBAAE,OAAO,iBAAiB,CAAC;gBAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpG,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,iDAAiD,QAAQ,qEAAqE,CAAC;yBAC7M,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,8BAA8B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1L,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC1B,6DAA6D;oBAC7D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,EAClF,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,CACpB,CAAC;oBACF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;oBACvF,IAAI,mBAAmB;wBAAE,OAAO,mBAAmB,CAAC;oBACpD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,KAAK,EACL,OAAO,EACP,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,MAAM,CAAC,OAAO,EACd,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,OAAO,EAChB,EAAE,EACF,MAAM,CAAC,YAAY,EACnB,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,KAAK,CAAC,UAAU,UAAU,EAAE,CAC1E,CAAC;oBACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;oBACzF,IAAI,oBAAoB;wBAAE,OAAO,oBAAoB,CAAC;oBACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnH,iEAAiE;oBACjE,qEAAqE;oBACrE,uCAAuC;oBACvC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ;wBAChC,CAAC,CAAC,MAAM,cAAc,CAClB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpG,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,CACpB;wBACH,CAAC,CAAC,IAAI,CAAC;oBACT,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;wBACxC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAClI,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,YAAY,CACpB,CAAC;wBACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;4BACjB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;4BACpG,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;iCAC5H,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC,CAAC;4BACpE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gCAAgC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChN,CAAC;wBACD,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;6BAChI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3D,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpG,CAAC;yBAAM,CAAC;wBACN,6DAA6D;wBAC7D,iEAAiE;wBACjE,gCAAgC;wBAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;wBACvE,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;wBACjF,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;6BACpH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAChE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,4CAA4C,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9L,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;YACnH,2EAA2E;YAC3E,iEAAiE;YACjE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,iBAAiB;gBAAE,OAAO,iBAAiB,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7G,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG;oBACd,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACtG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjD,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM,CAAC,UAAU;wBAAE,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACnH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,SAAS,EAAE;wBACnF,YAAY,EAAE,MAAM;wBACpB,YAAY,EAAE,QAAQ;wBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;wBACtB,WAAW,EAAE,SAAS,CAAC,WAAW;qBACnC,CAAC,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3C,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;oBACrE,mBAAmB,CAAC;wBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,YAAY,EAAE,MAAM;wBACpB,QAAQ,EAAE,EAAE,CAAC,MAAM;wBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC,CAAC,CAAC;oBACH,wEAAwE;oBACxE,2CAA2C;oBAC3C,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7I,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;gBACxC,MAAM,WAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClJ,wEAAwE;gBACxE,yEAAyE;gBACzE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9L,CAAC;QACH,CAAC;QACD,kFAAkF;QAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,IAAI,MAAM;YAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,yEAAyE;QACzE,0EAA0E;QAC1E,kCAAkC;QAClC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { config } from "./config.js";
2
+ import { getGlobalSettings } from "./global-settings-store.js";
3
+ import { resolveRuntime } from "./runtime-settings.js";
4
+ import { setRuntime } from "./runtime-state.js";
5
+ import { armSweeps } from "./sweeps.js";
6
+ import { log } from "./logger.js";
7
+ // DB-backed bridge between the settings store and the live runtime snapshot (work
8
+ // item #55). Split from runtime-state.ts so leaf modules can read the snapshot
9
+ // without importing devbot.db. Only the settings GET/PUT route and lifecycle
10
+ // bootstrap import this.
11
+ // Read the stored runtime overrides, resolve against the env fallbacks, publish
12
+ // the snapshot, and (re)arm the periodic sweeps. Idempotent; safe at boot and on
13
+ // every settings save.
14
+ export function applyRuntimeSettings() {
15
+ const resolved = resolveRuntime(getGlobalSettings().runtime, config);
16
+ setRuntime(resolved);
17
+ armSweeps();
18
+ log.info("runtime settings applied", {
19
+ maxConcurrentRuns: resolved.maxConcurrentRuns,
20
+ maxGlobalQueue: resolved.maxGlobalQueue,
21
+ volumeGcEnabled: resolved.volumeGcEnabled,
22
+ projectSyncEnabled: resolved.projectSyncEnabled,
23
+ devcontainerEnabled: resolved.devcontainerEnabled,
24
+ });
25
+ }
26
+ //# sourceMappingURL=runtime-apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-apply.js","sourceRoot":"","sources":["../src/runtime-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,kFAAkF;AAClF,+EAA+E;AAC/E,6EAA6E;AAC7E,yBAAyB;AAEzB,gFAAgF;AAChF,iFAAiF;AACjF,uBAAuB;AACvB,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC;IACZ,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;QACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;KAClD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { RuntimeSettingsSchema, DEFAULT_RUNTIME_SETTINGS, } from "./types/runtime-settings.js";
2
+ import { log } from "./logger.js";
3
+ export { RuntimeSettingsSchema, DEFAULT_RUNTIME_SETTINGS } from "./types/runtime-settings.js";
4
+ function num(stored, env) {
5
+ return stored === "" ? env : Number(stored);
6
+ }
7
+ function bool(stored, env) {
8
+ if (stored === "")
9
+ return env;
10
+ return stored === "true";
11
+ }
12
+ // Ceiling for the MCP refresh sweep cadence. A check must happen at least this
13
+ // often (and at least as often as the 12h refresh horizon) so a token cannot
14
+ // expire between two checks. Clamps a mis-configured longer interval down.
15
+ const MCP_REFRESH_MAX_MS = 8 * 60 * 60_000;
16
+ // Resolve stored overrides + env fallbacks into concrete typed values.
17
+ export function resolveRuntime(stored, env) {
18
+ return {
19
+ planTimeoutMs: num(stored.planTimeoutMs, env.PLAN_TIMEOUT_MS),
20
+ buildTimeoutMs: num(stored.buildTimeoutMs, env.BUILD_TIMEOUT_MS),
21
+ maxConcurrentRuns: num(stored.maxConcurrentRuns, env.MAX_CONCURRENT_RUNS),
22
+ maxGlobalQueue: num(stored.maxGlobalQueue, env.MAX_GLOBAL_QUEUE),
23
+ maxQueuePerWorkItem: num(stored.maxQueuePerWorkItem, env.MAX_QUEUE_PER_WORK_ITEM),
24
+ maxRetries: num(stored.maxRetries, env.MAX_RETRIES),
25
+ retryBackoffMs: num(stored.retryBackoffMs, env.RETRY_BACKOFF_MS),
26
+ queueFeedback: bool(stored.queueFeedback, env.QUEUE_FEEDBACK),
27
+ attachmentMaxBytes: num(stored.attachmentMaxBytes, env.ATTACHMENT_MAX_BYTES),
28
+ volumeGcEnabled: bool(stored.volumeGcEnabled, env.VOLUME_GC_ENABLED),
29
+ volumeGcTtlMs: num(stored.volumeGcTtlMs, env.VOLUME_GC_TTL_MS),
30
+ volumeGcIntervalMs: num(stored.volumeGcIntervalMs, env.VOLUME_GC_INTERVAL_MS),
31
+ errorLogRetentionDays: num(stored.errorLogRetentionDays, env.ERROR_LOG_RETENTION_DAYS),
32
+ runLogTtlHours: num(stored.runLogTtlHours, env.RUN_LOG_TTL_HOURS),
33
+ projectSyncEnabled: bool(stored.projectSyncEnabled, env.PROJECT_SYNC_ENABLED),
34
+ projectSyncIntervalMs: num(stored.projectSyncIntervalMs, env.PROJECT_SYNC_INTERVAL_MS),
35
+ mcpRefreshEnabled: bool(stored.mcpRefreshEnabled, env.MCP_REFRESH_ENABLED),
36
+ mcpRefreshIntervalMs: Math.min(num(stored.mcpRefreshIntervalMs, env.MCP_REFRESH_INTERVAL_MS), MCP_REFRESH_MAX_MS),
37
+ devcontainerEnabled: bool(stored.devcontainerEnabled, env.DEVCONTAINER_ENABLED),
38
+ devcontainerStorageDriver: stored.devcontainerStorageDriver === "" ? env.DEVCONTAINER_STORAGE_DRIVER : stored.devcontainerStorageDriver,
39
+ gitSubmodulesEnabled: bool(stored.gitSubmodulesEnabled, env.GIT_SUBMODULES_ENABLED),
40
+ };
41
+ }
42
+ // Parse the JSON blob stored in global_settings.runtime. A missing, malformed, or
43
+ // schema-invalid blob degrades to all-inherit defaults (never crashes a read).
44
+ // Unknown keys are dropped before parsing so a stored blob that still carries a
45
+ // since-removed setting (e.g. a deleted attachment-OCR field) does not fail the
46
+ // strict schema and reset every runtime setting to its default.
47
+ export function runtimeFromJson(raw) {
48
+ if (!raw)
49
+ return { ...DEFAULT_RUNTIME_SETTINGS };
50
+ let parsed;
51
+ try {
52
+ parsed = JSON.parse(raw);
53
+ }
54
+ catch {
55
+ log.warn("runtime settings JSON invalid, using env fallbacks");
56
+ return { ...DEFAULT_RUNTIME_SETTINGS };
57
+ }
58
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
59
+ for (const key of Object.keys(parsed)) {
60
+ if (!(key in DEFAULT_RUNTIME_SETTINGS))
61
+ delete parsed[key];
62
+ }
63
+ }
64
+ const result = RuntimeSettingsSchema.safeParse(parsed);
65
+ if (!result.success) {
66
+ log.warn("runtime settings failed schema, using env fallbacks");
67
+ return { ...DEFAULT_RUNTIME_SETTINGS };
68
+ }
69
+ return result.data;
70
+ }
71
+ //# sourceMappingURL=runtime-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-settings.js","sourceRoot":"","sources":["../src/runtime-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { config } from "./config.js";
2
+ import { resolveRuntime, DEFAULT_RUNTIME_SETTINGS } from "./runtime-settings.js";
3
+ // Live runtime-settings snapshot (work item #55). Kept free of DB imports so leaf
4
+ // modules (git, attachments, queue, webhook) can read the effective values
5
+ // without opening devbot.db — important for focused unit tests that import those
6
+ // modules without a temp DB. The DB-backed refresh lives in runtime-apply.ts,
7
+ // which imports this module and is only pulled in by the admin route + lifecycle.
8
+ let current = resolveRuntime(DEFAULT_RUNTIME_SETTINGS, config);
9
+ /** The effective runtime settings for this process. Live: updates when the
10
+ * settings PUT calls setRuntime. */
11
+ export function runtime() {
12
+ return current;
13
+ }
14
+ /** Publish a new resolved snapshot. Callers (runtime-apply / tests) are
15
+ * responsible for any side effects such as rearming sweeps. */
16
+ export function setRuntime(next) {
17
+ current = next;
18
+ }
19
+ //# sourceMappingURL=runtime-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../src/runtime-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAwB,MAAM,uBAAuB,CAAC;AAEvG,kFAAkF;AAClF,2EAA2E;AAC3E,iFAAiF;AACjF,8EAA8E;AAC9E,kFAAkF;AAElF,IAAI,OAAO,GAAoB,cAAc,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;AAEhF;qCACqC;AACrC,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;gEACgE;AAChE,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}
package/dist/server.js ADDED
@@ -0,0 +1,119 @@
1
+ import express from "express";
2
+ import { join, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import helmet from "helmet";
5
+ import { logReq } from "./http-util.js";
6
+ import { CSP_DIRECTIVES } from "./http-csp.js";
7
+ import { mcpRouter } from "./mcp/server.js";
8
+ import { mountWebhook } from "./webhook.js";
9
+ import { mountAdminRoutes } from "./admin/routes.js";
10
+ import { mountTaskRoutes } from "./admin/task-routes.js";
11
+ import { mountRunHistoryRoutes } from "./admin/run-history-routes.js";
12
+ import { mountVolumeRoutes } from "./admin/volume-routes.js";
13
+ import { mountRunRoutes } from "./admin/run-routes.js";
14
+ import { mountStatsRoutes } from "./admin/stats-routes.js";
15
+ import { mountMcpRoutes } from "./admin/mcp-routes.js";
16
+ import { mountCustomReposRoutes } from "./admin/custom-repos-routes.js";
17
+ import { mountEnvRoutes } from "./admin/env-routes.js";
18
+ import { mountSettingsRoutes } from "./admin/settings-routes.js";
19
+ import { mountGlobalSettingsRoutes } from "./admin/global-settings-routes.js";
20
+ import { mountAccessRoutes } from "./admin/access-routes.js";
21
+ import { mountAccessRuleRoutes } from "./admin/access-rule-routes.js";
22
+ import { mountWebhookRoutes } from "./admin/webhook-routes.js";
23
+ import { mountOauthRoutes } from "./oauth-routes.js";
24
+ import { mountTestRoutes } from "./admin/test-routes.js";
25
+ import { bootstrap } from "./lifecycle.js";
26
+ const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
27
+ const app = express();
28
+ if (process.env.TRUST_PROXY && Number(process.env.TRUST_PROXY) > 0) {
29
+ app.set("trust proxy", Number(process.env.TRUST_PROXY));
30
+ }
31
+ app.use(express.json({ limit: "2mb", verify: (req, _res, buf) => { req.rawBody = buf; } }));
32
+ // ponytail: helmet sets CSP, X-Frame-Options, X-Content-Type-Options, HSTS.
33
+ // NuxtUI v4 build extracts all CSS to external files (no inline styles), so
34
+ // both script-src and style-src are 'self' only. The directives live in
35
+ // http-csp.ts so a self-check can guard connect-src for models.dev.
36
+ app.use(helmet({
37
+ contentSecurityPolicy: {
38
+ directives: CSP_DIRECTIVES,
39
+ },
40
+ }));
41
+ // ponytail: cookie parsing without cookie-parser. One header, one split.
42
+ // decodeURIComponent is required because `cookie` (used by res.cookie)
43
+ // encodes the value on set; base64 cookies contain +/= that break otherwise.
44
+ app.use((req, _res, next) => {
45
+ const header = req.headers.cookie;
46
+ const map = {};
47
+ if (typeof header === "string") {
48
+ for (const part of header.split(";")) {
49
+ const idx = part.indexOf("=");
50
+ if (idx > 0) {
51
+ const key = part.slice(0, idx).trim();
52
+ const raw = part.slice(idx + 1).trim();
53
+ try {
54
+ map[key] = decodeURIComponent(raw);
55
+ }
56
+ catch {
57
+ map[key] = raw;
58
+ }
59
+ }
60
+ }
61
+ }
62
+ req.cookies = map;
63
+ next();
64
+ });
65
+ // --- Route mounting -------------------------------------------------------
66
+ mountWebhook(app);
67
+ app.get("/healthz", (_req, res) => res.json({ ok: true }));
68
+ app.use(express.static(join(MODULE_DIR, "..", "public")));
69
+ mountAdminRoutes(app);
70
+ mountTaskRoutes(app);
71
+ mountRunRoutes(app);
72
+ mountRunHistoryRoutes(app);
73
+ mountStatsRoutes(app);
74
+ mountVolumeRoutes(app);
75
+ mountMcpRoutes(app);
76
+ mountCustomReposRoutes(app);
77
+ mountEnvRoutes(app);
78
+ mountSettingsRoutes(app);
79
+ mountGlobalSettingsRoutes(app);
80
+ mountAccessRoutes(app);
81
+ mountAccessRuleRoutes(app);
82
+ mountWebhookRoutes(app);
83
+ mountOauthRoutes(app);
84
+ // Test-only; no-op unless DEVBOT_TEST_AUTH=1 (see admin/test-routes.ts).
85
+ mountTestRoutes(app);
86
+ // --- Internal MCP server -------------------------------------------------
87
+ // Separate Express app on a separate port bound to 127.0.0.1 only. The public
88
+ // listener can never reach it regardless of reverse-proxy misconfig. The
89
+ // container reaches it via MCP_BASE_URL (host.containers.internal:<MCP_PORT>).
90
+ const mcpApp = express();
91
+ mcpApp.use(express.json({ limit: "2mb" }));
92
+ mcpApp.use("/mcp", mcpRouter());
93
+ mcpApp.use((err, _req, res, _next) => {
94
+ logReq(_req, "error", "mcp unhandled error", { err: err });
95
+ res.status(500).json({ error: "internal error" });
96
+ });
97
+ // --- SPA fallback ---------------------------------------------------------
98
+ // ponytail: any non-API, non-oauth, non-static GET boots the SPA (history mode
99
+ // routing handled client-side). Mounted last so it never shadows real
100
+ // routes. Unknown non-GETs fall through to the 404 middleware below it.
101
+ const INDEX_HTML = join(MODULE_DIR, "..", "public", "index.html");
102
+ app.get("/{*splat}", (req, res, next) => {
103
+ if (req.path.startsWith("/api/") || req.path.startsWith("/oauth/"))
104
+ return next();
105
+ res.sendFile(INDEX_HTML);
106
+ });
107
+ app.use((req, res) => {
108
+ logReq(req, "warn", "not found");
109
+ return res.status(404).json({ error: "not found" });
110
+ });
111
+ // ponytail: terminal error handler — logs server-side, generic message to
112
+ // client. Prevents stack-trace leakage when NODE_ENV is not "production".
113
+ app.use((err, req, res, _next) => {
114
+ logReq(req, "error", "unhandled route error", { err: err });
115
+ res.status(500).send("internal error");
116
+ });
117
+ // --- Init + listen --------------------------------------------------------
118
+ bootstrap(app, mcpApp);
119
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}