baxian 1.2.61 → 2.0.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 (245) hide show
  1. package/README.md +7 -4
  2. package/README.zh-CN.md +7 -4
  3. package/dist/agent/bootstrap-poller.d.ts +1 -1
  4. package/dist/agent/bootstrap-poller.d.ts.map +1 -1
  5. package/dist/agent/bootstrap-poller.js.map +1 -1
  6. package/dist/agent/bootstrap.d.ts +1 -1
  7. package/dist/agent/bootstrap.d.ts.map +1 -1
  8. package/dist/agent/bootstrap.js +6 -2
  9. package/dist/agent/bootstrap.js.map +1 -1
  10. package/dist/agent/branch.d.ts +1 -3
  11. package/dist/agent/branch.d.ts.map +1 -1
  12. package/dist/agent/branch.js +2 -2
  13. package/dist/agent/branch.js.map +1 -1
  14. package/dist/agent/dispatch-reconciler.d.ts +0 -1
  15. package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
  16. package/dist/agent/dispatch-reconciler.js +15 -49
  17. package/dist/agent/dispatch-reconciler.js.map +1 -1
  18. package/dist/agent/manager.d.ts +212 -90
  19. package/dist/agent/manager.d.ts.map +1 -1
  20. package/dist/agent/manager.js +2983 -1574
  21. package/dist/agent/manager.js.map +1 -1
  22. package/dist/agent/net-exec.d.ts +3 -0
  23. package/dist/agent/net-exec.d.ts.map +1 -1
  24. package/dist/agent/net-exec.js +6 -0
  25. package/dist/agent/net-exec.js.map +1 -1
  26. package/dist/agent/pane-streamer-manager.d.ts +6 -6
  27. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  28. package/dist/agent/pane-streamer-manager.js.map +1 -1
  29. package/dist/agent/pane-streamer.d.ts +2 -2
  30. package/dist/agent/pane-streamer.d.ts.map +1 -1
  31. package/dist/agent/pane-streamer.js +46 -36
  32. package/dist/agent/pane-streamer.js.map +1 -1
  33. package/dist/agent/phase-signal-watcher.d.ts +20 -2
  34. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  35. package/dist/agent/phase-signal-watcher.js +135 -17
  36. package/dist/agent/phase-signal-watcher.js.map +1 -1
  37. package/dist/agent/phase-signal.d.ts +9 -7
  38. package/dist/agent/phase-signal.d.ts.map +1 -1
  39. package/dist/agent/phase-signal.js +18 -9
  40. package/dist/agent/phase-signal.js.map +1 -1
  41. package/dist/agent/preflight.d.ts +4 -1
  42. package/dist/agent/preflight.d.ts.map +1 -1
  43. package/dist/agent/preflight.js +46 -45
  44. package/dist/agent/preflight.js.map +1 -1
  45. package/dist/agent/prompt.d.ts +8 -5
  46. package/dist/agent/prompt.d.ts.map +1 -1
  47. package/dist/agent/prompt.js +34 -30
  48. package/dist/agent/prompt.js.map +1 -1
  49. package/dist/agent/repo-store.d.ts +8 -1
  50. package/dist/agent/repo-store.d.ts.map +1 -1
  51. package/dist/agent/repo-store.js +70 -15
  52. package/dist/agent/repo-store.js.map +1 -1
  53. package/dist/agent/review-transport.d.ts +20 -1
  54. package/dist/agent/review-transport.d.ts.map +1 -1
  55. package/dist/agent/review-transport.js +68 -20
  56. package/dist/agent/review-transport.js.map +1 -1
  57. package/dist/agent/root-agent-runtime.d.ts +80 -0
  58. package/dist/agent/root-agent-runtime.d.ts.map +1 -0
  59. package/dist/agent/root-agent-runtime.js +635 -0
  60. package/dist/agent/root-agent-runtime.js.map +1 -0
  61. package/dist/agent/root-recovery-coordinator.d.ts +125 -0
  62. package/dist/agent/root-recovery-coordinator.d.ts.map +1 -0
  63. package/dist/agent/root-recovery-coordinator.js +1579 -0
  64. package/dist/agent/root-recovery-coordinator.js.map +1 -0
  65. package/dist/agent/runner.d.ts +1 -0
  66. package/dist/agent/runner.d.ts.map +1 -1
  67. package/dist/agent/runner.js +103 -7
  68. package/dist/agent/runner.js.map +1 -1
  69. package/dist/agent/tmux-probe-poller.d.ts +1 -0
  70. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  71. package/dist/agent/tmux-probe-poller.js +16 -10
  72. package/dist/agent/tmux-probe-poller.js.map +1 -1
  73. package/dist/agent/tmux.d.ts +3 -0
  74. package/dist/agent/tmux.d.ts.map +1 -1
  75. package/dist/agent/tmux.js +11 -5
  76. package/dist/agent/tmux.js.map +1 -1
  77. package/dist/api/agents.d.ts.map +1 -1
  78. package/dist/api/agents.js +42 -1
  79. package/dist/api/agents.js.map +1 -1
  80. package/dist/api/config.d.ts.map +1 -1
  81. package/dist/api/config.js +88 -17
  82. package/dist/api/config.js.map +1 -1
  83. package/dist/api/hosts.d.ts.map +1 -1
  84. package/dist/api/hosts.js +71 -15
  85. package/dist/api/hosts.js.map +1 -1
  86. package/dist/api/platform-guard.d.ts +10 -2
  87. package/dist/api/platform-guard.d.ts.map +1 -1
  88. package/dist/api/platform-guard.js +112 -10
  89. package/dist/api/platform-guard.js.map +1 -1
  90. package/dist/api/projects.d.ts.map +1 -1
  91. package/dist/api/projects.js +57 -16
  92. package/dist/api/projects.js.map +1 -1
  93. package/dist/api/tasks.d.ts.map +1 -1
  94. package/dist/api/tasks.js +21 -36
  95. package/dist/api/tasks.js.map +1 -1
  96. package/dist/app.d.ts +6 -4
  97. package/dist/app.d.ts.map +1 -1
  98. package/dist/app.js +6 -0
  99. package/dist/app.js.map +1 -1
  100. package/dist/cli.d.ts +1 -1
  101. package/dist/cli.d.ts.map +1 -1
  102. package/dist/cli.js +49 -7
  103. package/dist/cli.js.map +1 -1
  104. package/dist/config/hot-reload.d.ts +11 -2
  105. package/dist/config/hot-reload.d.ts.map +1 -1
  106. package/dist/config/hot-reload.js +43 -8
  107. package/dist/config/hot-reload.js.map +1 -1
  108. package/dist/config/loader.d.ts.map +1 -1
  109. package/dist/config/loader.js +23 -2
  110. package/dist/config/loader.js.map +1 -1
  111. package/dist/config/normalizer.d.ts.map +1 -1
  112. package/dist/config/normalizer.js +18 -0
  113. package/dist/config/normalizer.js.map +1 -1
  114. package/dist/config/validator.d.ts +3 -1
  115. package/dist/config/validator.d.ts.map +1 -1
  116. package/dist/config/validator.js +247 -54
  117. package/dist/config/validator.js.map +1 -1
  118. package/dist/event/handlers.d.ts.map +1 -1
  119. package/dist/event/handlers.js +615 -1069
  120. package/dist/event/handlers.js.map +1 -1
  121. package/dist/event/server-handlers.d.ts.map +1 -1
  122. package/dist/event/server-handlers.js +787 -487
  123. package/dist/event/server-handlers.js.map +1 -1
  124. package/dist/index.d.ts +4 -1
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +99 -79
  127. package/dist/index.js.map +1 -1
  128. package/dist/platform/command-renderer.d.ts +1 -0
  129. package/dist/platform/command-renderer.d.ts.map +1 -1
  130. package/dist/platform/command-renderer.js +16 -2
  131. package/dist/platform/command-renderer.js.map +1 -1
  132. package/dist/platform/comment-cursor.d.ts +9 -0
  133. package/dist/platform/comment-cursor.d.ts.map +1 -1
  134. package/dist/platform/comment-cursor.js +63 -5
  135. package/dist/platform/comment-cursor.js.map +1 -1
  136. package/dist/platform/driver-host.d.ts.map +1 -1
  137. package/dist/platform/driver-host.js +0 -2
  138. package/dist/platform/driver-host.js.map +1 -1
  139. package/dist/platform/driver-spec.d.ts.map +1 -1
  140. package/dist/platform/driver-spec.js +17 -6
  141. package/dist/platform/driver-spec.js.map +1 -1
  142. package/dist/platform/feedback.d.ts.map +1 -1
  143. package/dist/platform/feedback.js +0 -9
  144. package/dist/platform/feedback.js.map +1 -1
  145. package/dist/platform/git-driver.d.ts +3 -0
  146. package/dist/platform/git-driver.d.ts.map +1 -1
  147. package/dist/platform/git-driver.js +45 -3
  148. package/dist/platform/git-driver.js.map +1 -1
  149. package/dist/platform/platform-poller.d.ts +18 -5
  150. package/dist/platform/platform-poller.d.ts.map +1 -1
  151. package/dist/platform/platform-poller.js +283 -38
  152. package/dist/platform/platform-poller.js.map +1 -1
  153. package/dist/platform/plugins/github/baxian-plugin.json +1 -1
  154. package/dist/platform/plugins/github/driver.json +14 -3
  155. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +7 -6
  156. package/dist/platform/plugins/github/skills/baxian-cli-gh/agents/openai.yaml +2 -0
  157. package/dist/platform/pr-binding.d.ts.map +1 -1
  158. package/dist/platform/pr-binding.js +0 -2
  159. package/dist/platform/pr-binding.js.map +1 -1
  160. package/dist/platform/pr-conversation-cache.d.ts.map +1 -0
  161. package/dist/platform/pr-conversation-cache.js.map +1 -0
  162. package/dist/platform/row-schema.d.ts.map +1 -1
  163. package/dist/platform/row-schema.js +1 -0
  164. package/dist/platform/row-schema.js.map +1 -1
  165. package/dist/platform/startup.d.ts +29 -1
  166. package/dist/platform/startup.d.ts.map +1 -1
  167. package/dist/platform/startup.js +82 -4
  168. package/dist/platform/startup.js.map +1 -1
  169. package/dist/platform/types.d.ts +2 -0
  170. package/dist/platform/types.d.ts.map +1 -1
  171. package/dist/platform/types.js +6 -4
  172. package/dist/platform/types.js.map +1 -1
  173. package/dist/platform/verdict-engine.d.ts.map +1 -1
  174. package/dist/platform/verdict-engine.js +0 -2
  175. package/dist/platform/verdict-engine.js.map +1 -1
  176. package/dist/shared/constants.d.ts +7 -1
  177. package/dist/shared/constants.d.ts.map +1 -1
  178. package/dist/shared/constants.js +5 -0
  179. package/dist/shared/constants.js.map +1 -1
  180. package/dist/shared/types.d.ts +98 -7
  181. package/dist/shared/types.d.ts.map +1 -1
  182. package/dist/shared/types.js +18 -0
  183. package/dist/shared/types.js.map +1 -1
  184. package/dist/skills/baxian-pr-feedback/SKILL.md +5 -15
  185. package/dist/skills/baxian-pr-recheck/SKILL.md +5 -44
  186. package/dist/skills/baxian-pr-review/SKILL.md +6 -43
  187. package/dist/skills/baxian-research/SKILL.md +1 -1
  188. package/dist/skills/baxian-server-feedback/SKILL.md +7 -5
  189. package/dist/skills/baxian-server-review/SKILL.md +2 -2
  190. package/dist/skills/baxian-signals/SKILL.md +11 -7
  191. package/dist/skills/baxian-task-check/SKILL.md +3 -5
  192. package/dist/state/agent-store.js +0 -2
  193. package/dist/state/agent-store.js.map +1 -1
  194. package/dist/state/init.d.ts.map +1 -1
  195. package/dist/state/init.js +1 -0
  196. package/dist/state/init.js.map +1 -1
  197. package/dist/state/lock.d.ts +6 -0
  198. package/dist/state/lock.d.ts.map +1 -1
  199. package/dist/state/lock.js +8 -0
  200. package/dist/state/lock.js.map +1 -1
  201. package/dist/state/review-store.d.ts +21 -1
  202. package/dist/state/review-store.d.ts.map +1 -1
  203. package/dist/state/review-store.js +132 -0
  204. package/dist/state/review-store.js.map +1 -1
  205. package/dist/state/root-recovery-store.d.ts +107 -0
  206. package/dist/state/root-recovery-store.d.ts.map +1 -0
  207. package/dist/state/root-recovery-store.js +400 -0
  208. package/dist/state/root-recovery-store.js.map +1 -0
  209. package/dist/state/task-store.d.ts +6 -0
  210. package/dist/state/task-store.d.ts.map +1 -1
  211. package/dist/state/task-store.js +266 -21
  212. package/dist/state/task-store.js.map +1 -1
  213. package/dist/terminal/attach.d.ts +3 -3
  214. package/dist/terminal/attach.d.ts.map +1 -1
  215. package/dist/terminal/attach.js.map +1 -1
  216. package/dist/terminal/stream-ws.d.ts.map +1 -1
  217. package/dist/terminal/stream-ws.js.map +1 -1
  218. package/dist/web/assets/index-BXfgaFNm.js +18 -0
  219. package/dist/web/index.html +1 -1
  220. package/package.json +1 -1
  221. package/dist/github/mapper.d.ts +0 -9
  222. package/dist/github/mapper.d.ts.map +0 -1
  223. package/dist/github/mapper.js +0 -25
  224. package/dist/github/mapper.js.map +0 -1
  225. package/dist/github/poller.d.ts +0 -73
  226. package/dist/github/poller.d.ts.map +0 -1
  227. package/dist/github/poller.js +0 -556
  228. package/dist/github/poller.js.map +0 -1
  229. package/dist/github/pr-conversation-cache.d.ts.map +0 -1
  230. package/dist/github/pr-conversation-cache.js.map +0 -1
  231. package/dist/github/pr-conversation.d.ts +0 -7
  232. package/dist/github/pr-conversation.d.ts.map +0 -1
  233. package/dist/github/pr-conversation.js +0 -175
  234. package/dist/github/pr-conversation.js.map +0 -1
  235. package/dist/github/resolver.d.ts +0 -8
  236. package/dist/github/resolver.d.ts.map +0 -1
  237. package/dist/github/resolver.js +0 -28
  238. package/dist/github/resolver.js.map +0 -1
  239. package/dist/state/post-approve-store.d.ts +0 -23
  240. package/dist/state/post-approve-store.d.ts.map +0 -1
  241. package/dist/state/post-approve-store.js +0 -82
  242. package/dist/state/post-approve-store.js.map +0 -1
  243. package/dist/web/assets/index-CUJtd0bC.js +0 -16
  244. /package/dist/{github → platform}/pr-conversation-cache.d.ts +0 -0
  245. /package/dist/{github → platform}/pr-conversation-cache.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server-handlers.js","sourceRoot":"","sources":["../../src/event/server-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-handlers.js","sourceRoot":"","sources":["../../src/event/server-handlers.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EACL,mBAAmB,GAGpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,sBAAsB,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAW,CAAC;AACxF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAkB;IACnD,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY;CACrG,CAAC,CAAC;AAQH,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,IAAI,OAAO,GAA6C,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAuB,EAAE,QAAgB;IACnE,MAAM,MAAM,GAAsD,EAAE,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC3B,YAAY,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QACD,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ;YAAE,YAAY,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,YAAY,EAAE,CAAC;IACf,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAyB,EAAE,KAAa;IACtE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;oBAAE,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBACrF,EAAE,GAAG,SAAS,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,QAAwB,EAAE,WAAwB;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAClE,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC7D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,GAAa,EACb,IAAe,EACf,IAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAaD,KAAK,UAAU,IAAI,CACjB,GAAa,EACb,OAAqB,EACrB,KAAkB,EAClB,MAIC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,kBAAkB,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,KAA2B,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;WACjC,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;YAChC,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,QAAQ;YAC5B,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAa,EAAE,OAAqB;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,CAAC;IAC/B,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAErD,KAAK,UAAU,YAAY,CACzB,IAAe,EACf,OAAe,EACf,KAA8B,EAC9B,OAAyC,EAAE;QAE3C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC;aAC/E,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;oBAChC,KAAK,EAAE,kCAAkC;oBACzC,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;iBAC/C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,IAAe,EACf,OAAe,EACf,IAAsB,EACtB,IAAiB,EACjB,OAA+B,EAAE;QAEjC,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,OAAO,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;oBAC9B,CAAC,CAAC,MAAM,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;oBACzE,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3E,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAAE,OAAO,IAAI,CAAC;gBAC7E,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,SAAS,GAAG,aAAa,CAAC;gBAC5B,CAAC;gBACD,IAAI,OAAO,GAAG,uBAAuB;oBAAE,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CACvB,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,sBAAsB,EACtB,UAAU,IAAI,CAAC,KAAK,uBAAuB,EAC3C;YACE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;SAC1E,EACD,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,IAAe,EACf,OAAe,EACf,IAAqB,EACrB,MAAkC,EAClC,YAAoB,EACpB,OAAgC,EAAE,EAClC,YAAyB;QAEzB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,MAAM,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,wBAAwB,CACjD,IAAI,EACJ,OAAO,EACP,IAAwB,EACxB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CACvC,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,YAAY,EAAE,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;YAChC,KAAK,EAAE,YAAY;YACnB,GAAG,IAAI;YACP,cAAc,EAAE,IAAI,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,IAAe,EACf,GAAgB;QAEhB,IAAI,MAA4C,CAAC;QACjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,OAAO,EAAE,EAAE,CAAC;YACpE,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,uBAAuB;gBAAE,OAAO,MAAM,CAAC;YACpF,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAO,CAAC;IACjB,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,IAAe,EACf,OAAe,EACf,IAAsB,EACtB,OAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,iBAAiB,EACrE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,oBAAoB,CACjC,IAAe,EACf,EAAe,EACf,IAAkE,EAClE,YAAiC;QAEjC,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,6BAA6B,CAChD,IAAI,CAAC,EAAE,EACP,EAAE,EACF,UAAU,EACV,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,IAAI,EACJ,gBAAgB,EAChB,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,0BAA0B,EAC9E,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,UAAU,oBAAoB,CACjC,IAAe,EACf,GAAgB,EAChB,IAA4D,EAC5D,IAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,6BAA6B,CACzD,IAAI,CAAC,EAAE,EACP,GAAG,EACH,UAAU,EACV,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAC/C,CAAC;YACF,IAAI,OAAO;gBAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CACvB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,IAAI,EACJ,gBAAgB,EAChB,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,0BAA0B,EAC9E,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,oBAAoB,CACjC,IAAe,EACf,GAAgB,EAChB,SAAqD,EACrD,OASC,EACD,YAAyB;QAEzB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,MAAM,UAAU,GAAG,GAAG,KAAK,QAAiB,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;YACtD,KAAK;YACL,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,cAAc;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB;YACjB,iBAAiB;YACjB,oBAAoB;SACrB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE;YAChF,IAAI,EAAE,mBAAmB;YACzB,KAAK;YACL,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,cAAc;YACd,gBAAgB;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB;YACjB,iBAAiB;YACjB,oBAAoB;YACpB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9E,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,WAAW;YAAE,OAAO,KAAK,CAAC;QACxC,YAAY,EAAE,EAAE,CAAC;QACjB,IAAI,QAA+B,CAAC;QACpC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE;gBACxF,UAAU;gBACV,WAAW;gBACX,cAAc,EAAE,OAAO,CAAC,WAAW;gBACnC,gBAAgB;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,iBAAiB;gBACjB,iBAAiB;gBACjB,oBAAoB;gBACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,wBAAwB,CACjD,IAAI,CAAC,EAAE,EACP,GAAG,CAAC,EAAE,EACN,OAAO,CAAC,WAAW,EACnB,UAAU,KAAK,8BAA8B,EAC7C,GAAG,OAAO,iEAAiE,CAC5E,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;gBAChC,KAAK,EAAE,UAAU,KAAK,8BAA8B;gBACpD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,OAAO;gBACd,cAAc,EAAE,OAAO,CAAC,WAAW;aACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;QACvF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,IAAI,QAAQ,CAAC,WAAW,KAAK,cAAc,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,KAAK,yBAAyB;gBAClE,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,kCAAkC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,wBAAwB,CACjD,IAAI,CAAC,EAAE,EACP,GAAG,CAAC,EAAE,EACN,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,OAAO,KAAK,yBAAyB,OAAO,CAAC,MAAM,iCAAiC;kBAClF,IAAI,QAAQ,CAAC,WAAW,8DAA8D,CACzF,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;gBAChC,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,iBAAiB;gBACjB,iBAAiB;gBACjB,cAAc;gBACd,cAAc,EAAE,OAAO,CAAC,WAAW;aACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,aAAa,EAAE,oBAAoB,CAAC;QAC5D,MAAM,YAAY,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC;QACpG,IAAI,CAAC,aAAa;eACb,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;eACpC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;eAClC,aAAa,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;eACjD,YAAY,KAAK,SAAS,CAAC,KAAK;eAChC,eAAe,EAAE,IAAI,KAAK,kBAAkB;eAC5C,eAAe,CAAC,WAAW,KAAK,WAAW;eAC3C,eAAe,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,6BAA6B,CACzD,IAAI,CAAC,EAAE,EACP,GAAG,EACH,UAAU,EACV,mBAAmB,CAAC,aAAa,CAAC,EAClC,eAAe,CAChB,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,wBAAwB,CACjD,IAAI,CAAC,EAAE,EACP,GAAG,CAAC,EAAE,EACN,OAAO,CAAC,WAAW,EACnB,UAAU,KAAK,0BAA0B,EACzC,GAAG,OAAO,qFAAqF,CAChG,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;gBAChC,KAAK,EAAE,UAAU,KAAK,0BAA0B;gBAChD,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,OAAO;gBACd,cAAc,EAAE,OAAO,CAAC,WAAW;aACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,iBAAiB;YACjB,iBAAiB;YACjB,oBAAoB;YACpB,cAAc;YACd,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,OAAO,CAAC,WAAW;YACnC,GAAG,OAAO,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,eAAe,CAAC,IAAe;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,KAAK,UAAU,qBAAqB,CAClC,IAAe,EACf,SAA0B,EAC1B,KAAa,EACb,YAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAC7B,YAAY,CACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,IAAe,EACf,YAAkC,EAClC,YAA6B,WAAW,EACxC,YAAyB;QAEzB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7E,YAAY,EAAE,EAAE,CAAC;QACjB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;gBACjE,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,IAAI,KAAK;gBAAE,YAAY,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,gBAAgB,EAChB,4CAA4C,EAC5C,EAAE,EACF,YAAY,CACb,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,kBAAkB,EAClB,uCAAuC,EACvC,EAAE,EACF,YAAY,CACb,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,mBAA2B,CAAC;QAChC,IAAI,CAAC;YACH,mBAAmB,GAAG,MAAM,SAAS,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,gBAAgB,EAChB,8CAA8C,EAC9C,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,YAAY,CACb,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CACjD,IAAI,CAAC,EAAE,EACP,UAAU,EACV;YACE,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;YACrC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,EACD,EAAE,mBAAmB,EAAE,CACxB,CAAC;QACF,IAAI,QAAQ;YAAE,YAAY,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,gBAAgB,EAChB,4CAA4C,EAC5C,EAAE,EACF,YAAY,CACb,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,gBAAgB,EAChB,kDAAkD,EAClD,EAAE,EACF,YAAY,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,IAAe;QAC1C,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS;eACpC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;IAC1E,CAAC;IAED,KAAK,UAAU,mBAAmB,CAChC,IAAe,EACf,YAAoB,EACpB,YAAkC;QAElC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE;oBACzC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC;gBACJ,CAAC,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,eAAe,CAC5B,IAAe,EACf,YAAkC,EAClC,YAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC1E,IAAI,MAAM;gBAAE,YAAY,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACrD,gBAAgB,EAChB,4CAA4C,EAC5C,EAAE,EACF,YAAY,CACb,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACrD,gBAAgB,EAChB,4CAA4C,EAC5C,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,YAAY,CACb,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,UAAU,4BAA4B,CACzC,IAAe,EACf,IAQC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,kBAAkB,EAClB,iCAAiC,EACjC,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrF,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE;gBAC1E,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC,CAAC;YACH,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,CAAC,SAAS;gBAAE,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAChF,MAAM,GAAG,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE;aAChC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAA0B,CAAC;QAC/B,IAAI,mBAA2B,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,uCAAuC,SAAS,gBAAgB,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,GAAG;gBACR,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,MAAM,IAAI,mBAAmB,CAAC,aAAa,EAAE,2CAA2C,CAAC,CAAC;gBAChH,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,gBAAgB,EAChB,iCAAiC,EACjC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/E,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;oBACnE,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,+BAA+B,EAAE;wBACrG,eAAe,EAAE,SAAS,CAAC,MAAM;wBACjC,eAAe,EAAE,SAAS,CAAC,MAAM;wBACjC,YAAY,EAAE,SAAS,CAAC,GAAG;wBAC3B,IAAI,EAAE,2KAA2K;qBAClL,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,gBAAgB,EAChB,kCAAkC,EAClC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAgB;YACzB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,mBAAmB;YAC5B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAoB,EAAE,CAAC,eAAe,CAC5E,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACrD,IAAI,EACJ,IAAI,CACL,CAAC;QAEF,MAAM,uBAAuB,GAAG,KAAK,IAAiC,EAAE;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACtE,OAAO,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACV,+DAA+D,IAAI,CAAC,EAAE,UAAU,SAAS,IAAI;oBAC7F,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClF,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5E,MAAM,SAAS,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE;YACjE,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,mBAAmB;YACnB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,+BAA+B,EAAE,IAAI;YACrC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAC;QACH,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,gBAAgB,EAChB,oCAAoC,EACpC,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,OAA2B,EAC3B,KAAa,EACb,QAA4B,EAC5B,IAMC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE;YAChE,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;YACvC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,+BAA+B,EAAE,IAAI;YACrC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAC;QACH,OAAO,UAAU,KAAK,IAAI,CAAC;IAC7B,CAAC;IAED,SAAS,oBAAoB,CAAC,SAAsB;QAClD,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACnG,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAClE,IAAI,MAAM,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,4BAA4B,CAAC;gBAAE,OAAO;YACzF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,4BAA4B,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,EAAE,EACpB,eAAe,EACf,gBAAgB,EAChB,gCAAgC,CACjC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,EAAE,KAAK,EAAE,CACV,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,QAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,OAAO,GAAG,SAAS,CAAC;YACxB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS;oBACjD,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;oBACjE,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;gBACrC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,EAAE,KAAK,EAAE,CACV,CAAC;oBACF,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpC,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,qCAAqC,EACrC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CACxC,CAAC;gBACF,OAAO;YACT,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC1E,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3D,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;gBAC1C,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;oBAAE,OAAO;gBAC9F,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;oBAAE,OAAO;YACrF,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5E,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;oBAAE,OAAO;gBAC9F,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;oBAAE,OAAO;YACrF,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACtC,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvF,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;wBAChH,OAAO,EAAE,SAAS;wBAClB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,YAAY;wBACZ,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC;qBACpC,CAAC,CAAC;oBACH,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,iDAAiD,CAClD,CAAC;oBACJ,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ;uBAC9B,sBAAsB,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE;wBACjE,GAAG,OAAO;wBACV,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACtC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,MAAM;wBAAE,OAAO;gBACtB,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAC9C,IAAI,CAAC,EAAE,EACP,YAAY,CAAC,MAAM,EACnB,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAChD,YAAY,CACb,CAAC;gBACF,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,MAAM,gBAAgB,CACpB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EACzD,UAAU,EACV,YAAY,CACb,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAS,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,gBAAgB,CAC7B,IAAe,EACf,QAAwB,EACxB,YAAiC;QAEjC,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAC9C,IAAI,CAAC,EAAE,EACP,OAAO,EACP,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CACrD,CAAC;gBACF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,qCAAqC,CACtC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,oBAAoB,CACjD,IAAI,CAAC,EAAE,EACP,UAAU,EACV,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CACrD,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,wCAAwC,CACzC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,qCAAqC,CACtC,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAClD,IAAI,CAAC,EAAE,EACP,YAAY,EACZ,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CACrD,CAAC;YACF,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,GAAG,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;aACzC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACrD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,EAAE,+BAA+B,EAAE,IAAI,EAAE,YAAY,EAAE,CACxD,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,iCAAiC,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,wBAAwB,CACrC,IAAe,EACf,iBAAyB,EACzB,iBAAyB,EACzB,OAA+B,EAAE;QAEjC,IAAI,MAAM,qBAAqB,CAC7B,IAAI,EACJ,YAAY,EACZ,sCAAsC,EACtC,IAAI,CAAC,YAAY,CAClB,EAAE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,4BAA4B,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,IAAI;YACb,iBAAiB;YACjB,iBAAiB;YACjB,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,oBAAoB,CACjC,IAAe,EACf,OAA+B,EAAE;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,EAC9B,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;YACzB,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC,EAAE,KAAK,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,UAAoC,CAAC;QACzC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CACvB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC;gBACE,MAAM,EAAE,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;gBACvE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,EACD,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,kBAAkB,CACvB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EACpE,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,8BAA8B;gBAC5C,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;gBACrD,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;aAC7C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;oBAC9F,MAAM,EAAE,kBAAkB;oBAC1B,YAAY,EAAE,8BAA8B;iBAC7C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,wBAAwB,CAC7B,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,qCAAqC;gBACnD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,OAAO,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,qCAAqC;gBACnD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC/C,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,0BAA0B;gBAClC,YAAY,EAAE,+CAA+C;gBAC7D,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,cAAc;gBACtB,YAAY,EAAE,mCAAmC;gBACjD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,iBAAiB,EAAE,IAAI,CAAC,OAAO;aAChC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,eAAe,CACzB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,EAC1B,IAAI,CACL,CAAC;YAAE,OAAO,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/E,OAAO,wBAAwB,CAC7B,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9G,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChG,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtE,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,yCAAyC,CAC1C,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,kBAAkB,EAClB,oCAAoC,CACrC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,aAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,SAAS,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,2CAA2C,EAC3C,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,aAAa,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/C,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,qCAAqC,EAAE;oBAClH,aAAa;oBACb,YAAY,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI;iBAC/C,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,kBAAsC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,4CAA4C,EAC5C,EAAE,QAAQ,EAAE,CACb,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACvC,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,wCAAwC,EACxC;wBACE,QAAQ;wBACR,UAAU,EAAE,QAAQ,CAAC,OAAO;wBAC5B,aAAa;wBACb,YAAY,EAAE,IAAI,CAAC,mBAAmB;qBACvC,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC7C,CAAC;YACD,IAAI,KAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,OAAO,CAAC,oBAAoB,CACxC,IAAI,CAAC,EAAE,EACP,OAAO,EACP,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,EAC5D;oBACE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,QAAQ,KAAK,SAAS;2BACrB,IAAI,CAAC,UAAU,KAAK,SAAS;2BAC7B,kBAAkB,KAAK,SAAS;wBACnC,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,aAAa,EAAE,aAAa;iBAC7B,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,2CAA2C,EAC3C,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,gBAAgB,EAChB,yCAAyC,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAClH,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,kBAAkB,CAC/B,IAAe,EACf,KAAuD,EACvD,OAKI,EAAE;QAEN,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,kBAAkB,EAClB,iCAAiC,EACjC,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QAC7E,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE;gBAC1E,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC,CAAC;YACH,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,CAAC,SAAS;gBAAE,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAChF,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAA0B,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,uCAAuC,SAAS,gBAAgB,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,gBAAgB,EAChB,iCAAiC,EACjC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAgB;oBAC7B,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;oBAC9B,CAAC,CAAC,MAAM,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;oBAC9E,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,sBAAsB,EACtB,gCAAgC,EAChC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE;oBAChC,KAAK,EAAE,4BAA4B;oBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE;oBACxD,eAAe,EAAE,SAAS;oBAC1B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC;gBACH,IAAI,MAAM;oBAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACrD,gBAAgB,EAChB,oCAAoC,EACpC,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE;YACjE,KAAK,EAAE,MAAM;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,+BAA+B,EAAE,IAAI;YACrC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAC;QACH,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACrD,gBAAgB,EAChB,oCAAoC,EACpC,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,EAAE,EACpB,eAAe,EACf,gBAAgB,EAChB,gCAAgC,CACjC,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,EAAE,KAAK,EAAE,CACV,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,QAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,EAAE,KAAK,EAAE,CACV,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;YACjC,CAAC;iBAAM,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,kBAAkB,CACtB,IAAI,EACJ,EAAE,CAAC,EAAE,EACL,eAAe,EACf,gBAAgB,EAChB,qCAAqC,EACrC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,CACzC,CAAC;gBACF,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE;oBACjE,GAAG,SAAS;oBACZ,QAAQ,EAAE,SAAS;oBACnB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACtC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;oBAAE,OAAO;YACrF,CAAC;YAED,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,mBAAmB,CAAC,IAAI,EAAE,uCAAuC,EAAE,YAAY,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE;oBAC1E,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS;oBAAE,OAAO;gBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;gBAC9B,IAAI,MAAM,CAAC,SAAS;oBAAE,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAChF,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACrD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,EAAE,+BAA+B,EAAE,IAAI,EAAE,YAAY,EAAE,CACxD,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,kBAAkB,CACtB,IAAI,EACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAC9B,eAAe,EACf,gBAAgB,EAChB,iCAAiC,CAClC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,oBAAoB,CACjC,IAAe,EACf,OAA+B,EAAE;QAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,EAC9B,EAAE,EACF,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;YACzB,OAAO,kBAAkB,CACvB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC,EAAE,KAAK,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,UAAoC,CAAC;QACzC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CACvB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC;gBACE,MAAM,EAAE,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;gBACvE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,EACD,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,kBAAkB,CACvB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,sBAAsB,EACtB,kCAAkC,EAClC,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EACpE,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,8BAA8B;gBAC5C,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;gBACrD,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;aAC7C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;oBAC9F,MAAM,EAAE,kBAAkB;oBAC1B,YAAY,EAAE,8BAA8B;iBAC7C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,kBAAkB,CAAC,IAAI,EAAE;gBAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;aACjD,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAChC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,qCAAqC;gBACnD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,OAAO,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,qCAAqC;gBACnD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,cAAc,KAAK,cAAc,EAAE,CAAC;YAC/C,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,0BAA0B;gBAClC,YAAY,EAAE,+CAA+C;gBAC7D,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAuD,EAAE;gBAC9F,MAAM,EAAE,cAAc;gBACtB,YAAY,EAAE,mCAAmC;gBACjD,WAAW,EAAE,UAAU,CAAC,GAAG;gBAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,iBAAiB,EAAE,IAAI,CAAC,OAAO;gBAC/B,iBAAiB,EAAE,IAAI,CAAC,OAAO;aAChC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,eAAe,CACzB,IAAI,EACJ,GAAG,CAAC,EAAE,EACN,YAAY,EACZ,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,EAC1B,IAAI,CACL,CAAC;YAAE,OAAO,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/E,OAAO,kBAAkB,CAAC,IAAI,EAAE;YAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;YAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACvC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAAsB,EAAE,SAAiB;QACzF,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,IAAI,IAAI,EAAE,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB,CAAC;QAC5B,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1E,OAAO,4BAA4B,CAAC,IAAI,EAAE;gBACxC,OAAO,EAAE,KAAK,KAAK,IAAI;gBACvB,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,KAAK,EAAE,QAAQ;gBAClC,CAAC,CAAC;oBACE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC5C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5E;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
+ import { EventBus } from './event/bus.js';
2
+ import { AgentManager } from './agent/manager.js';
3
+ import { type PlatformPollerOptions } from './platform/platform-poller.js';
1
4
  export declare function pickExistingPath(base: string, candidates: readonly string[]): string;
2
- export declare function migrateLegacyPollerStateFile(stateDir: string, legacyProjectIds: string[], newStatePath: string): Promise<void>;
3
5
  export declare function formatServerRunningMessage(host: string, port: number, https: boolean): string;
6
+ export declare function createPlatformPollerOptions(agentManager: AgentManager, eventBus: EventBus): PlatformPollerOptions;
4
7
  export declare function startServer(configPath?: string): Promise<void>;
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4CA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMpF;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAMD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAG7F;AAED,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0SpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAoC,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAgB7G,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMpF;AAMD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAG7F;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GACjB,qBAAqB,CAuBvB;AAED,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmUpE"}
package/dist/index.js CHANGED
@@ -1,16 +1,15 @@
1
- import { resolve, dirname, join } from 'node:path';
1
+ import { resolve, dirname } from 'node:path';
2
2
  import { fileURLToPath } from 'node:url';
3
- import { rename, stat } from 'node:fs/promises';
4
3
  import { readFileSync, existsSync } from 'node:fs';
5
4
  import { loadConfig, resolveConfigPath, resolveStateDir, userConfigPath, createDefaultConfig, } from './config/loader.js';
6
- import { loadPluginsOrExplain, referencedGitTools, scanPluginSkillPools } from './platform/startup.js';
5
+ import { loadPluginsOrExplain, planPlatformEntries, referencedGitTools, retainedPlatformProjectIds, scanPluginSkillPools } from './platform/startup.js';
7
6
  import { initStateDir } from './state/init.js';
8
7
  import { AgentStore } from './state/agent-store.js';
9
8
  import { TaskStore } from './state/task-store.js';
10
9
  import { ErrorRecordStore } from './state/error-record-store.js';
11
- import { PostApproveStore } from './state/post-approve-store.js';
12
10
  import { ReviewStore } from './state/review-store.js';
13
11
  import { PetStore } from './state/pet-store.js';
12
+ import { RootRecoveryStore } from './state/root-recovery-store.js';
14
13
  import { LockManager } from './state/lock.js';
15
14
  import { ProcessLock, ProcessLockError } from './state/process-lock.js';
16
15
  import { EventBus } from './event/bus.js';
@@ -23,14 +22,17 @@ import { EventPublisher } from './event/publish.js';
23
22
  import { autoBootstrapAgentIds, bootstrapAutoRepos } from './agent/bootstrap.js';
24
23
  import { registerEventHandlers, recoverGitPostApprovePending } from './event/handlers.js';
25
24
  import { registerServerEventHandlers } from './event/server-handlers.js';
26
- import { GitHubPoller, pollerStatePathFor } from './github/poller.js';
27
- import { resolveEventRouting } from './github/resolver.js';
25
+ import { PlatformPoller, platformTaskView } from './platform/platform-poller.js';
26
+ import { platformPollerStatePath } from './platform/comment-cursor.js';
27
+ import { buildProjectDriver, makeDriverExec } from './platform/driver-host.js';
28
28
  import { createRunner, resolveAgentHost } from './agent/runner.js';
29
- import { isGitHubRepo, repoSlug } from './shared/index.js';
29
+ import { repoIdentityKey } from './shared/index.js';
30
30
  import { TmuxProbePoller, TmuxSessionStatusStore } from './agent/tmux-probe-poller.js';
31
31
  import { PeriodicTaskRunner } from './timing/periodic-task-runner.js';
32
32
  import { BootstrapPoller } from './agent/bootstrap-poller.js';
33
33
  import { DispatchReconciler } from './agent/dispatch-reconciler.js';
34
+ import { RootAgentRuntime } from './agent/root-agent-runtime.js';
35
+ import { RootRecoveryCoordinator } from './agent/root-recovery-coordinator.js';
34
36
  import { buildApp } from './app.js';
35
37
  import { RestartCoordinator } from './lifecycle/restart.js';
36
38
  import { consumeRestartSentinel } from './lifecycle/restart-sentinel.js';
@@ -42,33 +44,6 @@ export function pickExistingPath(base, candidates) {
42
44
  }
43
45
  return resolve(base, candidates[0]);
44
46
  }
45
- export async function migrateLegacyPollerStateFile(stateDir, legacyProjectIds, newStatePath) {
46
- try {
47
- await stat(newStatePath);
48
- return;
49
- }
50
- catch (err) {
51
- if (err.code !== 'ENOENT') {
52
- console.warn(`[startup] poller cursor migration: stat(${newStatePath}) failed:`, err);
53
- return;
54
- }
55
- }
56
- for (const legacyId of legacyProjectIds) {
57
- const legacyPath = join(stateDir, 'state', `poller-${legacyId}.json`);
58
- try {
59
- await rename(legacyPath, newStatePath);
60
- console.log(`[startup] migrated poller cursor ${legacyPath} → ${newStatePath}`);
61
- return;
62
- }
63
- catch (err) {
64
- const code = err.code;
65
- if (code === 'ENOENT')
66
- continue;
67
- console.warn(`[startup] poller cursor migration ${legacyPath} → ${newStatePath} failed:`, err);
68
- return;
69
- }
70
- }
71
- }
72
47
  function formatUrlHost(host) {
73
48
  return host.includes(':') && !host.startsWith('[') ? `[${host}]` : host;
74
49
  }
@@ -76,6 +51,28 @@ export function formatServerRunningMessage(host, port, https) {
76
51
  const scheme = https ? 'https' : 'http';
77
52
  return `baxian server running on ${scheme}://${formatUrlHost(host)}:${port}`;
78
53
  }
54
+ export function createPlatformPollerOptions(agentManager, eventBus) {
55
+ return {
56
+ onEvent: async (projectId, mapped) => {
57
+ const task = mapped.taskId === undefined ? undefined : await agentManager.getTask(mapped.taskId);
58
+ await eventBus.emit({
59
+ id: '',
60
+ type: mapped.type,
61
+ timestamp: new Date().toISOString(),
62
+ projectId: task?.projectId ?? projectId,
63
+ ...(task ? { taskId: task.id, ...(task.agentId ? { agentId: task.agentId } : {}) } : {}),
64
+ data: mapped.data,
65
+ });
66
+ },
67
+ tasks: async (projectId) => (await agentManager.listTasksForPlatformEntry(projectId)).map(platformTaskView),
68
+ task: async (taskId) => {
69
+ const task = await agentManager.getTask(taskId);
70
+ return task === null ? null : platformTaskView(task);
71
+ },
72
+ onCursorCommitted: (taskId, _prNumber, sourceKey, watermarkTime) => agentManager.pruneConsumedFeedback(taskId, sourceKey, watermarkTime),
73
+ onConversationRevision: (taskId) => agentManager.noteReviewConversationRevision(taskId),
74
+ };
75
+ }
79
76
  export async function startServer(configPath) {
80
77
  let cfgPath = await resolveConfigPath(configPath);
81
78
  if (!cfgPath) {
@@ -91,7 +88,6 @@ export async function startServer(configPath) {
91
88
  console.error(line);
92
89
  process.exit(1);
93
90
  }
94
- // M3a:registry 注入 AgentManager 供 'git' 路径 live 解析;poller 装配切换留 M3c。
95
91
  const pluginRegistry = pluginsResult.registry;
96
92
  const processLock = new ProcessLock(stateDir);
97
93
  try {
@@ -113,6 +109,7 @@ export async function startServer(configPath) {
113
109
  }
114
110
  };
115
111
  let appRef = null;
112
+ let rootRecoveryCoordinatorRef;
116
113
  let stopBackgroundRunners = () => undefined;
117
114
  let shuttingDown = false;
118
115
  const SHUTDOWN_GRACE_MS = 8000;
@@ -151,8 +148,8 @@ export async function startServer(configPath) {
151
148
  const agentStore = new AgentStore(`${stateDir}/state/agents`);
152
149
  const taskStore = new TaskStore(`${stateDir}/state/tasks`);
153
150
  const errorRecordStore = new ErrorRecordStore(`${stateDir}/state/errors`);
154
- const postApproveStore = new PostApproveStore(`${stateDir}/state/post-approve`);
155
151
  const petStore = new PetStore(`${stateDir}/state/pets`);
152
+ const rootRecoveryStore = new RootRecoveryStore(`${stateDir}/state/root-recovery`);
156
153
  const lockManager = new LockManager(`${stateDir}/locks`);
157
154
  const eventLog = new EventLog(`${stateDir}/events`);
158
155
  const eventBus = new EventBus(eventLog);
@@ -168,6 +165,12 @@ export async function startServer(configPath) {
168
165
  hostResolver: (agent) => resolveHostRef(agent),
169
166
  });
170
167
  const reviewStore = new ReviewStore(`${stateDir}/state/reviews`);
168
+ const driverExec = makeDriverExec(createRunner('local'));
169
+ const platformEntryDeps = {
170
+ driverFor: (project) => buildProjectDriver(project, pluginRegistry, driverExec),
171
+ statePathFor: (repoUrl) => platformPollerStatePath(stateDir, repoUrl),
172
+ };
173
+ let defaultBranchOf = () => undefined;
171
174
  const agentManager = new AgentManager({
172
175
  config,
173
176
  agentStore,
@@ -176,11 +179,11 @@ export async function startServer(configPath) {
176
179
  eventBus,
177
180
  skillRegistry: registry,
178
181
  paneStreamerManager,
179
- postApproveStore,
180
182
  pluginRegistry,
181
183
  errorRecordStore,
182
184
  reviewStore,
183
185
  imageStagingRoot: `${stateDir}/state/task-images`,
186
+ platformDefaultBranchOf: (projectId) => defaultBranchOf(projectId),
184
187
  });
185
188
  resolveHostRef = (agent) => resolveAgentHost(agentManager.getConfig().host, agent.host);
186
189
  const tmuxProbePoller = new TmuxProbePoller({
@@ -192,20 +195,17 @@ export async function startServer(configPath) {
192
195
  });
193
196
  await agentManager.recover();
194
197
  registerEventHandlers(eventBus, agentManager);
195
- // 'git' 专属恢复(阀关下无任务恒 no-op):durable pendingRedispatch 的补派
196
198
  await recoverGitPostApprovePending(eventBus, agentManager).catch(err => {
197
199
  console.warn('[index] recoverGitPostApprovePending failed:', err);
198
200
  });
199
- // outbox 的进程内重试(spec §6 至少一次):closed-unmerged 锚会停子轮询、observed 缓存抑制
200
- // 重复观察,滞留条目不能只等重启补投
201
201
  const gitOutboxFlusher = new PeriodicTaskRunner({
202
202
  name: 'GitMaintenance',
203
203
  intervalMs: 60_000,
204
- // durable pending 的运行时消费(spec §6 至少一次):outbox 补投 + post-approve 补派 + 评审派发重试
205
204
  run: async () => {
206
- await agentManager.flushGitOutbox();
205
+ await agentManager.flushTaskOutboxes();
207
206
  await recoverGitPostApprovePending(eventBus, agentManager);
208
207
  await agentManager.retryPendingGitReviewDispatches();
208
+ await agentManager.retryGitRemoteCleanupIntents();
209
209
  },
210
210
  onError: e => console.warn('[GitMaintenance] sweep failed:', e),
211
211
  });
@@ -221,6 +221,38 @@ export async function startServer(configPath) {
221
221
  tmuxSessionStatusStore.onChange((kind, id) => eventPublisher.publishAgentChange(kind, id));
222
222
  taskStore.onChange((kind, id) => eventPublisher.publishTaskChange(kind, id));
223
223
  petStore.onChange((id) => eventPublisher.publishAgentChange('set', id));
224
+ const rootRecoveryCoordinator = config.root
225
+ ? new RootRecoveryCoordinator({
226
+ config: config.root,
227
+ eventBus,
228
+ manager: agentManager,
229
+ taskStore,
230
+ agentStore,
231
+ statusStore: tmuxSessionStatusStore,
232
+ store: rootRecoveryStore,
233
+ runtime: new RootAgentRuntime({
234
+ config: config.root,
235
+ hosts: () => agentManager.getConfig().host,
236
+ agents: () => agentManager.getConfig().project.flatMap(project => project.agent.flat()),
237
+ paneStreamerManager,
238
+ }),
239
+ capturePane: async (agentId) => {
240
+ const agent = agentManager.getAgentConfig(agentId);
241
+ if (!agent)
242
+ return undefined;
243
+ return (await paneStreamerManager.ensure(agent).getSnapshotAtomic()).snapshot.data;
244
+ },
245
+ })
246
+ : undefined;
247
+ rootRecoveryCoordinatorRef = rootRecoveryCoordinator;
248
+ if (rootRecoveryCoordinator) {
249
+ try {
250
+ await rootRecoveryCoordinator.start();
251
+ }
252
+ catch (err) {
253
+ console.warn('[startup] root recovery is disabled because its durable state could not be recovered:', err);
254
+ }
255
+ }
224
256
  const onBootstrapAgentAffected = (ids) => {
225
257
  for (const id of ids)
226
258
  eventPublisher.publishAgentChange('set', id);
@@ -261,45 +293,25 @@ export async function startServer(configPath) {
261
293
  errorRecordStore,
262
294
  onAgentAffected: onBootstrapAgentAffected,
263
295
  }).catch(err => console.error('[baxian] bootstrap failed:', err));
264
- const poller = new GitHubPoller({
265
- runner: createRunner('local'),
266
- knownPrNumbersFor: async (projectId) => {
267
- const tasks = await agentManager.listTasksByProject(projectId);
268
- return new Set(tasks
269
- .filter(t => typeof t.prNumber === 'number' && t.agentId)
270
- .map(t => t.prNumber));
271
- },
272
- onEvent: async (projectId, mapped) => {
273
- const routing = await resolveEventRouting(agentManager, mapped);
274
- await eventBus.emit({
275
- id: '',
276
- type: mapped.type,
277
- timestamp: new Date().toISOString(),
278
- projectId,
279
- ...(routing.taskId ? { taskId: routing.taskId } : {}),
280
- ...(routing.agentId ? { agentId: routing.agentId } : {}),
281
- data: mapped.data,
282
- });
283
- },
284
- });
285
- const seenRepos = new Set();
286
- for (const project of config.project) {
287
- if (!isGitHubRepo(project.repo))
288
- continue;
289
- const repoKey = repoSlug(project.repo).toLowerCase();
290
- if (seenRepos.has(repoKey))
291
- continue;
292
- seenRepos.add(repoKey);
293
- const newStatePath = pollerStatePathFor(stateDir, repoKey);
294
- const legacyIds = config.project
295
- .filter(p => repoSlug(p.repo).toLowerCase() === repoKey)
296
- .map(p => p.id);
297
- await migrateLegacyPollerStateFile(stateDir, legacyIds, newStatePath);
298
- poller.add({ projectId: project.id, repo: project.repo, statePath: newStatePath });
299
- }
296
+ const poller = new PlatformPoller(createPlatformPollerOptions(agentManager, eventBus));
297
+ defaultBranchOf = (projectId) => {
298
+ const repo = agentManager.getConfig().project.find(p => p.id === projectId)?.repo;
299
+ return repo === undefined ? undefined : poller.defaultBranchSnapshot(repoIdentityKey(repo));
300
+ };
300
301
  poller.setLifecycleHook(() => {
301
302
  eventPublisher.publishPollersChange(() => poller.snapshots());
302
303
  });
304
+ const entryPlan = planPlatformEntries(config, {
305
+ ...platformEntryDeps,
306
+ retainedProjectIds: await retainedPlatformProjectIds(config, () => agentManager.listActiveGitTasks(), (task, mismatch) => agentManager.emitPlatformBindingIntervention(task, mismatch)),
307
+ });
308
+ poller.reconcile(entryPlan.entries);
309
+ for (const conflict of entryPlan.conflicts) {
310
+ // 离线编辑绕过在线锁的同 repo 冲突:该项目 entry 不建,受保护项目 entry 保留(spec §5.5)
311
+ await agentManager.emitConfigIntervention(conflict.projectId, {
312
+ phase: 'repo-conflict', repoKey: conflict.repoKey, claimedBy: conflict.claimedBy,
313
+ }).catch(err => console.warn('[startup] repo-conflict intervention emit failed:', err));
314
+ }
303
315
  poller.start(config.server.githubPollIntervalMs);
304
316
  const httpsOpts = config.server.https
305
317
  ? {
@@ -323,11 +335,12 @@ export async function startServer(configPath) {
323
335
  configPath: cfgPath,
324
336
  stateDir,
325
337
  poller,
326
- githubRunner: createRunner('local'),
338
+ platformEntryDeps,
327
339
  paneStreamerManager,
328
340
  eventBroker,
329
341
  errorRecordStore,
330
342
  petStore,
343
+ rootRecoveryCoordinator,
331
344
  }, {
332
345
  ...(httpsOpts ? { https: httpsOpts } : {}),
333
346
  webRoot,
@@ -351,6 +364,13 @@ export async function startServer(configPath) {
351
364
  console.log(formatServerRunningMessage(host, config.server.port, Boolean(config.server.https)));
352
365
  }
353
366
  catch (err) {
367
+ stopBackgroundRunners();
368
+ try {
369
+ await rootRecoveryCoordinatorRef?.stop();
370
+ }
371
+ catch (cleanupErr) {
372
+ console.warn('[startup] root recovery cleanup after server startup failure failed:', cleanupErr);
373
+ }
354
374
  await releaseLockBestEffort();
355
375
  throw err;
356
376
  }