@withbuddi/buddi 0.1.0-pre.51 → 0.1.0-pre.53

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 (503) hide show
  1. package/extension/background.js +1604 -847
  2. package/extension/manifest.json +3 -3
  3. package/extension/popup.css +91 -3
  4. package/extension/popup.html +49 -32
  5. package/extension/popup.js +215 -123
  6. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  7. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  8. package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
  9. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  10. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  11. package/node_modules/@buddi/core/dist/questions/store.d.ts +3 -1
  12. package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
  13. package/node_modules/@buddi/core/dist/questions/store.js +3 -3
  14. package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
  15. package/node_modules/@buddi/core/dist/questions/types.d.ts +46 -1
  16. package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
  17. package/node_modules/@buddi/core/dist/questions/types.js +2 -1
  18. package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
  19. package/node_modules/@buddi/core/dist/secrets/approval.d.ts +54 -0
  20. package/node_modules/@buddi/core/dist/secrets/approval.d.ts.map +1 -1
  21. package/node_modules/@buddi/core/dist/secrets/approval.js +58 -1
  22. package/node_modules/@buddi/core/dist/secrets/approval.js.map +1 -1
  23. package/node_modules/@buddi/core/dist/secrets/settings.d.ts +178 -0
  24. package/node_modules/@buddi/core/dist/secrets/settings.d.ts.map +1 -1
  25. package/node_modules/@buddi/core/dist/secrets/settings.js +63 -6
  26. package/node_modules/@buddi/core/dist/secrets/settings.js.map +1 -1
  27. package/node_modules/@buddi/core/dist/secrets/store.d.ts +31 -0
  28. package/node_modules/@buddi/core/dist/secrets/store.d.ts.map +1 -1
  29. package/node_modules/@buddi/core/dist/secrets/store.js +75 -0
  30. package/node_modules/@buddi/core/dist/secrets/store.js.map +1 -1
  31. package/node_modules/@buddi/core/dist/secrets/use.d.ts.map +1 -1
  32. package/node_modules/@buddi/core/dist/secrets/use.js +68 -3
  33. package/node_modules/@buddi/core/dist/secrets/use.js.map +1 -1
  34. package/node_modules/@buddi/core/dist/tools.d.ts +22 -0
  35. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  36. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  37. package/node_modules/@buddi/core/migrations/080_secret_requests.sql +14 -0
  38. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  39. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  40. package/node_modules/@buddi/gateway/dist/chat/session.js +2 -1
  41. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  42. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  43. package/node_modules/@buddi/gateway/dist/missions/execute.js +3 -1
  44. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  45. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +15 -3
  46. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
  47. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +34 -7
  48. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -1
  49. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  50. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +8 -2
  51. package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
  52. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts +3 -1
  53. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
  54. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js.map +1 -1
  55. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts +173 -0
  56. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
  57. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js +332 -0
  58. package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js.map +1 -0
  59. package/node_modules/@buddi/gateway/dist/system-context.js +1 -1
  60. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  61. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  62. package/node_modules/@buddi/gateway/dist/telegram/main.js +14 -3
  63. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  64. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  65. package/node_modules/@buddi/gateway/dist/telegram/surface.js +4 -1
  66. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  67. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  68. package/node_modules/@buddi/gateway/dist/web/api-routes.js +9 -1
  69. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  70. package/node_modules/@buddi/gateway/dist/web/approval-ask.js +2 -2
  71. package/node_modules/@buddi/gateway/dist/web/approval-ask.js.map +1 -1
  72. package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts +13 -0
  73. package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts.map +1 -0
  74. package/node_modules/@buddi/gateway/dist/web/browser-capture.js +24 -0
  75. package/node_modules/@buddi/gateway/dist/web/browser-capture.js.map +1 -0
  76. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +26 -0
  77. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  78. package/node_modules/@buddi/gateway/dist/web/chat.js +87 -2
  79. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  80. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +30 -0
  81. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  82. package/node_modules/@buddi/gateway/dist/web/extension.js +86 -6
  83. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  84. package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
  85. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  86. package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts +26 -2
  87. package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts.map +1 -1
  88. package/node_modules/@buddi/gateway/dist/web/remote-hand.js +89 -28
  89. package/node_modules/@buddi/gateway/dist/web/remote-hand.js.map +1 -1
  90. package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts +54 -0
  91. package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts.map +1 -0
  92. package/node_modules/@buddi/gateway/dist/web/secret-request.js +264 -0
  93. package/node_modules/@buddi/gateway/dist/web/secret-request.js.map +1 -0
  94. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts +1 -0
  95. package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
  96. package/node_modules/@buddi/gateway/dist/web/secrets.js +1 -1
  97. package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
  98. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  99. package/node_modules/@buddi/gateway/dist/web/server.js +72 -3
  100. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  101. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  102. package/node_modules/@buddi/install/dist/app-layout.d.ts +24 -0
  103. package/node_modules/@buddi/install/dist/app-layout.d.ts.map +1 -1
  104. package/node_modules/@buddi/install/dist/app-layout.js +64 -2
  105. package/node_modules/@buddi/install/dist/app-layout.js.map +1 -1
  106. package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
  107. package/node_modules/@buddi/install/dist/launcher.js +89 -10
  108. package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
  109. package/node_modules/@buddi/install/dist/linux-install.d.ts +41 -0
  110. package/node_modules/@buddi/install/dist/linux-install.d.ts.map +1 -0
  111. package/node_modules/@buddi/install/dist/linux-install.js +86 -0
  112. package/node_modules/@buddi/install/dist/linux-install.js.map +1 -0
  113. package/node_modules/@buddi/install/dist/runtime-info.d.ts +23 -0
  114. package/node_modules/@buddi/install/dist/runtime-info.d.ts.map +1 -0
  115. package/node_modules/@buddi/install/dist/runtime-info.js +69 -0
  116. package/node_modules/@buddi/install/dist/runtime-info.js.map +1 -0
  117. package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
  118. package/node_modules/@buddi/install/dist/supervisor.js +8 -6
  119. package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
  120. package/node_modules/@buddi/install/dist/uninstall.d.ts +20 -0
  121. package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -1
  122. package/node_modules/@buddi/install/dist/uninstall.js +50 -1
  123. package/node_modules/@buddi/install/dist/uninstall.js.map +1 -1
  124. package/node_modules/@buddi/install/dist/upgrade.d.ts +4 -1
  125. package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
  126. package/node_modules/@buddi/install/dist/upgrade.js +77 -51
  127. package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
  128. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  129. package/node_modules/@buddi/runtime/dist/anthropic.d.ts +7 -0
  130. package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
  131. package/node_modules/@buddi/runtime/dist/anthropic.js +19 -1
  132. package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
  133. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  134. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  135. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +16 -1
  136. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  137. package/node_modules/@buddi/tool-browser/dist/controller.js +59 -5
  138. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  139. package/node_modules/@buddi/tool-browser/dist/driver.d.ts +12 -0
  140. package/node_modules/@buddi/tool-browser/dist/driver.d.ts.map +1 -1
  141. package/node_modules/@buddi/tool-browser/dist/driver.js +41 -2
  142. package/node_modules/@buddi/tool-browser/dist/driver.js.map +1 -1
  143. package/node_modules/@buddi/tool-browser/dist/extension.d.ts +49 -9
  144. package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
  145. package/node_modules/@buddi/tool-browser/dist/extension.js +145 -21
  146. package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
  147. package/node_modules/@buddi/tool-browser/dist/index.d.ts +10 -6
  148. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  149. package/node_modules/@buddi/tool-browser/dist/index.js +22 -8
  150. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  151. package/node_modules/@buddi/tool-browser/dist/routes.d.ts +10 -1
  152. package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -1
  153. package/node_modules/@buddi/tool-browser/dist/routes.js +24 -0
  154. package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -1
  155. package/node_modules/@buddi/tool-browser/dist/service.d.ts +48 -1
  156. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  157. package/node_modules/@buddi/tool-browser/dist/service.js +114 -11
  158. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  159. package/node_modules/@buddi/tool-browser/dist/types.d.ts +54 -3
  160. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  161. package/node_modules/@buddi/tool-browser/dist/types.js +17 -1
  162. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  163. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  164. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  165. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  166. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  167. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  168. package/node_modules/@hono/node-server/package.json +2 -2
  169. package/node_modules/@types/node/README.md +1 -1
  170. package/node_modules/@types/node/package.json +2 -2
  171. package/node_modules/@types/node/util.d.ts +6 -3
  172. package/node_modules/content-disposition/README.md +105 -35
  173. package/node_modules/content-disposition/dist/index.d.ts +72 -0
  174. package/node_modules/content-disposition/dist/index.js +388 -0
  175. package/node_modules/content-disposition/dist/index.js.map +1 -0
  176. package/node_modules/content-disposition/package.json +31 -19
  177. package/node_modules/docx/dist/index.cjs +182 -80
  178. package/node_modules/docx/dist/index.d.cts +63 -6
  179. package/node_modules/docx/dist/index.d.ts +63 -6
  180. package/node_modules/docx/dist/index.iife.js +182 -80
  181. package/node_modules/docx/dist/index.mjs +182 -80
  182. package/node_modules/docx/dist/index.umd.cjs +182 -80
  183. package/node_modules/docx/dist/layout.cjs +1 -6
  184. package/node_modules/docx/dist/layout.iife.js +1 -6
  185. package/node_modules/docx/dist/layout.mjs +1 -6
  186. package/node_modules/docx/dist/layout.umd.cjs +1 -6
  187. package/node_modules/docx/package.json +4 -3
  188. package/node_modules/express/Readme.md +15 -9
  189. package/node_modules/express/lib/application.js +2 -2
  190. package/node_modules/express/lib/request.js +32 -19
  191. package/node_modules/express/lib/response.js +27 -30
  192. package/node_modules/express/node_modules/content-type/LICENSE +22 -0
  193. package/node_modules/express/node_modules/content-type/README.md +71 -0
  194. package/node_modules/express/node_modules/content-type/dist/index.d.ts +46 -0
  195. package/node_modules/express/node_modules/content-type/dist/index.js +176 -0
  196. package/node_modules/express/node_modules/content-type/dist/index.js.map +1 -0
  197. package/node_modules/express/node_modules/content-type/package.json +52 -0
  198. package/node_modules/express/package.json +10 -10
  199. package/node_modules/imapflow/CHANGELOG.md +48 -0
  200. package/node_modules/imapflow/dist/cjs/commands/append.d.ts +1 -1
  201. package/node_modules/imapflow/dist/cjs/commands/append.js +15 -4
  202. package/node_modules/imapflow/dist/cjs/commands/compress.js +2 -2
  203. package/node_modules/imapflow/dist/cjs/commands/id.js +5 -3
  204. package/node_modules/imapflow/dist/cjs/commands/idle.js +9 -9
  205. package/node_modules/imapflow/dist/cjs/commands/list.js +2 -2
  206. package/node_modules/imapflow/dist/cjs/commands/namespace.js +18 -14
  207. package/node_modules/imapflow/dist/cjs/commands/quota.js +2 -3
  208. package/node_modules/imapflow/dist/cjs/commands/select.d.ts +3 -14
  209. package/node_modules/imapflow/dist/cjs/commands/select.js +1 -4
  210. package/node_modules/imapflow/dist/cjs/commands/status.js +2 -4
  211. package/node_modules/imapflow/dist/cjs/connection-deadline.d.ts +1 -1
  212. package/node_modules/imapflow/dist/cjs/connection-deadline.js +2 -4
  213. package/node_modules/imapflow/dist/cjs/download.js +66 -35
  214. package/node_modules/imapflow/dist/cjs/errors.d.ts +15 -0
  215. package/node_modules/imapflow/dist/cjs/errors.js +22 -0
  216. package/node_modules/imapflow/dist/cjs/handler/imap-compiler.d.ts +4 -4
  217. package/node_modules/imapflow/dist/cjs/handler/imap-compiler.js +18 -18
  218. package/node_modules/imapflow/dist/cjs/handler/imap-parser.js +28 -3
  219. package/node_modules/imapflow/dist/cjs/handler/imap-stream.js +9 -8
  220. package/node_modules/imapflow/dist/cjs/handler/limits.d.ts +1 -1
  221. package/node_modules/imapflow/dist/cjs/handler/limits.js +5 -7
  222. package/node_modules/imapflow/dist/cjs/handler/parser-instance.js +23 -38
  223. package/node_modules/imapflow/dist/cjs/handler/token-parser.d.ts +12 -0
  224. package/node_modules/imapflow/dist/cjs/handler/token-parser.js +44 -104
  225. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +4 -3
  226. package/node_modules/imapflow/dist/cjs/imap-flow.js +128 -78
  227. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  228. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  229. package/node_modules/imapflow/dist/cjs/proxy-connection.js +2 -5
  230. package/node_modules/imapflow/dist/cjs/search-compiler.js +2 -3
  231. package/node_modules/imapflow/dist/cjs/tools.d.ts +24 -3
  232. package/node_modules/imapflow/dist/cjs/tools.js +59 -18
  233. package/node_modules/imapflow/dist/cjs/types.d.ts +20 -1
  234. package/node_modules/imapflow/dist/esm/commands/append.d.ts +1 -1
  235. package/node_modules/imapflow/dist/esm/commands/append.js +15 -4
  236. package/node_modules/imapflow/dist/esm/commands/compress.js +2 -2
  237. package/node_modules/imapflow/dist/esm/commands/id.js +6 -4
  238. package/node_modules/imapflow/dist/esm/commands/idle.js +9 -9
  239. package/node_modules/imapflow/dist/esm/commands/list.js +3 -3
  240. package/node_modules/imapflow/dist/esm/commands/namespace.js +19 -15
  241. package/node_modules/imapflow/dist/esm/commands/quota.js +3 -4
  242. package/node_modules/imapflow/dist/esm/commands/select.d.ts +3 -14
  243. package/node_modules/imapflow/dist/esm/commands/select.js +1 -4
  244. package/node_modules/imapflow/dist/esm/commands/status.js +2 -4
  245. package/node_modules/imapflow/dist/esm/connection-deadline.d.ts +1 -1
  246. package/node_modules/imapflow/dist/esm/connection-deadline.js +2 -4
  247. package/node_modules/imapflow/dist/esm/download.js +66 -35
  248. package/node_modules/imapflow/dist/esm/errors.d.ts +15 -0
  249. package/node_modules/imapflow/dist/esm/errors.js +21 -0
  250. package/node_modules/imapflow/dist/esm/handler/imap-compiler.d.ts +4 -4
  251. package/node_modules/imapflow/dist/esm/handler/imap-compiler.js +18 -18
  252. package/node_modules/imapflow/dist/esm/handler/imap-parser.js +28 -3
  253. package/node_modules/imapflow/dist/esm/handler/imap-stream.js +9 -8
  254. package/node_modules/imapflow/dist/esm/handler/limits.d.ts +1 -1
  255. package/node_modules/imapflow/dist/esm/handler/limits.js +5 -7
  256. package/node_modules/imapflow/dist/esm/handler/parser-instance.js +23 -38
  257. package/node_modules/imapflow/dist/esm/handler/token-parser.d.ts +12 -0
  258. package/node_modules/imapflow/dist/esm/handler/token-parser.js +44 -104
  259. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +4 -3
  260. package/node_modules/imapflow/dist/esm/imap-flow.js +130 -80
  261. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  262. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  263. package/node_modules/imapflow/dist/esm/proxy-connection.js +2 -5
  264. package/node_modules/imapflow/dist/esm/search-compiler.js +2 -3
  265. package/node_modules/imapflow/dist/esm/tools.d.ts +24 -3
  266. package/node_modules/imapflow/dist/esm/tools.js +58 -19
  267. package/node_modules/imapflow/dist/esm/types.d.ts +20 -1
  268. package/node_modules/imapflow/package.json +6 -3
  269. package/node_modules/playwright/README.md +4 -4
  270. package/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +1 -1
  271. package/node_modules/playwright/lib/cli/testActions.js +8 -5
  272. package/node_modules/playwright/lib/common/index.js +37 -23
  273. package/node_modules/playwright/lib/common/index.js.txt +8 -9
  274. package/node_modules/playwright/lib/index.js +16 -4
  275. package/node_modules/playwright/lib/matchers/expect.js +13 -7
  276. package/node_modules/playwright/lib/matchers/expect.js.txt +4 -4
  277. package/node_modules/playwright/lib/program.js +2 -1
  278. package/node_modules/playwright/lib/runner/index.js +438 -244
  279. package/node_modules/playwright/lib/runner/index.js.txt +12 -11
  280. package/node_modules/playwright/lib/transform/babelBundle.js +2612 -2396
  281. package/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +15 -15
  282. package/node_modules/playwright/lib/transform/babelBundle.js.txt +14 -11
  283. package/node_modules/playwright/lib/transform/esmLoader.js +17 -5
  284. package/node_modules/playwright/lib/transform/esmLoader.js.txt +3 -3
  285. package/node_modules/playwright/lib/worker/workerProcessEntry.js +17 -18
  286. package/node_modules/playwright/package.json +2 -7
  287. package/node_modules/playwright/types/test.d.ts +156 -39
  288. package/node_modules/playwright-core/browsers.json +9 -9
  289. package/node_modules/playwright-core/cli.js +1 -0
  290. package/node_modules/playwright-core/lib/bootstrap.js +61 -0
  291. package/node_modules/playwright-core/lib/coreBundle.js +6393 -4170
  292. package/node_modules/playwright-core/lib/server/electron/loader.js +4 -0
  293. package/node_modules/playwright-core/lib/tools/cli-client/cli.js +2 -1
  294. package/node_modules/playwright-core/lib/tools/cli-client/help.json +99 -12
  295. package/node_modules/playwright-core/lib/tools/cli-client/output.js +17 -16
  296. package/node_modules/playwright-core/lib/tools/cli-client/program.js +8 -4
  297. package/node_modules/playwright-core/lib/tools/cli-client/session.js +2 -0
  298. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md +71 -3
  299. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
  300. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/running-code.md +4 -0
  301. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/session-management.md +2 -0
  302. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/test-generation.md +1 -1
  303. package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/video-recording.md +76 -3
  304. package/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md +1 -1
  305. package/node_modules/playwright-core/lib/utilsBundle.js +948 -227
  306. package/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +6 -6
  307. package/node_modules/playwright-core/lib/vite/htmlReport/report.js +1 -1
  308. package/node_modules/playwright-core/lib/vite/recorder/assets/{codeMirrorModule-CVQWJZAA.js → codeMirrorModule-DK72OMRi.js} +1 -1
  309. package/node_modules/playwright-core/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
  310. package/node_modules/playwright-core/lib/vite/recorder/index.html +1 -1
  311. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-BbkfBe3n.js → codeMirrorModule-BEB2e8M3.js} +1 -1
  312. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
  313. package/node_modules/playwright-core/lib/vite/traceViewer/assets/{xtermModule-DywYcAf8.js → xtermModule-B794rD2Z.js} +1 -1
  314. package/node_modules/playwright-core/lib/vite/traceViewer/{defaultSettingsView.Bqk9acqE.css → defaultSettingsView.C8BeHuxd.css} +1 -1
  315. package/node_modules/playwright-core/lib/vite/traceViewer/{index.B4cLoZK3.js → index.7-c5LSTW.js} +1 -1
  316. package/node_modules/playwright-core/lib/vite/traceViewer/index.html +3 -3
  317. package/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -3
  318. package/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.CU5KtEkS.js → uiMode.CYwC_gH1.js} +4 -4
  319. package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +3 -3
  320. package/node_modules/playwright-core/package.json +1 -1
  321. package/node_modules/playwright-core/types/protocol.d.ts +468 -337
  322. package/node_modules/playwright-core/types/types.d.ts +572 -37
  323. package/node_modules/process-warning/.github/workflows/ci.yml +1 -1
  324. package/node_modules/process-warning/.github/workflows/lock-threads.yml +1 -1
  325. package/node_modules/process-warning/.github/workflows/release.yml +24 -0
  326. package/node_modules/process-warning/README.md +46 -46
  327. package/node_modules/process-warning/package.json +1 -1
  328. package/package.json +2 -2
  329. package/packages/cli/dist/.tsbuildinfo +1 -1
  330. package/packages/core/dist/.tsbuildinfo +1 -1
  331. package/packages/core/dist/plugin/index.d.ts +1 -1
  332. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  333. package/packages/core/dist/plugin/index.js.map +1 -1
  334. package/packages/core/dist/questions/store.d.ts +3 -1
  335. package/packages/core/dist/questions/store.d.ts.map +1 -1
  336. package/packages/core/dist/questions/store.js +3 -3
  337. package/packages/core/dist/questions/store.js.map +1 -1
  338. package/packages/core/dist/questions/types.d.ts +46 -1
  339. package/packages/core/dist/questions/types.d.ts.map +1 -1
  340. package/packages/core/dist/questions/types.js +2 -1
  341. package/packages/core/dist/questions/types.js.map +1 -1
  342. package/packages/core/dist/secrets/approval.d.ts +54 -0
  343. package/packages/core/dist/secrets/approval.d.ts.map +1 -1
  344. package/packages/core/dist/secrets/approval.js +58 -1
  345. package/packages/core/dist/secrets/approval.js.map +1 -1
  346. package/packages/core/dist/secrets/settings.d.ts +178 -0
  347. package/packages/core/dist/secrets/settings.d.ts.map +1 -1
  348. package/packages/core/dist/secrets/settings.js +63 -6
  349. package/packages/core/dist/secrets/settings.js.map +1 -1
  350. package/packages/core/dist/secrets/store.d.ts +31 -0
  351. package/packages/core/dist/secrets/store.d.ts.map +1 -1
  352. package/packages/core/dist/secrets/store.js +75 -0
  353. package/packages/core/dist/secrets/store.js.map +1 -1
  354. package/packages/core/dist/secrets/use.d.ts.map +1 -1
  355. package/packages/core/dist/secrets/use.js +68 -3
  356. package/packages/core/dist/secrets/use.js.map +1 -1
  357. package/packages/core/dist/tools.d.ts +22 -0
  358. package/packages/core/dist/tools.d.ts.map +1 -1
  359. package/packages/core/dist/tools.js.map +1 -1
  360. package/packages/core/migrations/080_secret_requests.sql +14 -0
  361. package/packages/gateway/dist/.tsbuildinfo +1 -1
  362. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  363. package/packages/gateway/dist/chat/session.js +2 -1
  364. package/packages/gateway/dist/chat/session.js.map +1 -1
  365. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  366. package/packages/gateway/dist/missions/execute.js +3 -1
  367. package/packages/gateway/dist/missions/execute.js.map +1 -1
  368. package/packages/gateway/dist/surfaces/browser-cards.d.ts +15 -3
  369. package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
  370. package/packages/gateway/dist/surfaces/browser-cards.js +34 -7
  371. package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -1
  372. package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
  373. package/packages/gateway/dist/surfaces/offered-actions.js +8 -2
  374. package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
  375. package/packages/gateway/dist/surfaces/pending-question.d.ts +3 -1
  376. package/packages/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
  377. package/packages/gateway/dist/surfaces/pending-question.js.map +1 -1
  378. package/packages/gateway/dist/surfaces/secret-request.d.ts +173 -0
  379. package/packages/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
  380. package/packages/gateway/dist/surfaces/secret-request.js +332 -0
  381. package/packages/gateway/dist/surfaces/secret-request.js.map +1 -0
  382. package/packages/gateway/dist/system-context.js +1 -1
  383. package/packages/gateway/dist/system-context.js.map +1 -1
  384. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  385. package/packages/gateway/dist/telegram/main.js +14 -3
  386. package/packages/gateway/dist/telegram/main.js.map +1 -1
  387. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  388. package/packages/gateway/dist/telegram/surface.js +4 -1
  389. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  390. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  391. package/packages/gateway/dist/web/api-routes.js +9 -1
  392. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  393. package/packages/gateway/dist/web/approval-ask.js +2 -2
  394. package/packages/gateway/dist/web/approval-ask.js.map +1 -1
  395. package/packages/gateway/dist/web/browser-capture.d.ts +13 -0
  396. package/packages/gateway/dist/web/browser-capture.d.ts.map +1 -0
  397. package/packages/gateway/dist/web/browser-capture.js +24 -0
  398. package/packages/gateway/dist/web/browser-capture.js.map +1 -0
  399. package/packages/gateway/dist/web/chat.d.ts +26 -0
  400. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  401. package/packages/gateway/dist/web/chat.js +87 -2
  402. package/packages/gateway/dist/web/chat.js.map +1 -1
  403. package/packages/gateway/dist/web/extension.d.ts +30 -0
  404. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  405. package/packages/gateway/dist/web/extension.js +86 -6
  406. package/packages/gateway/dist/web/extension.js.map +1 -1
  407. package/packages/gateway/dist/web/onboarding.js +1 -1
  408. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  409. package/packages/gateway/dist/web/remote-hand.d.ts +26 -2
  410. package/packages/gateway/dist/web/remote-hand.d.ts.map +1 -1
  411. package/packages/gateway/dist/web/remote-hand.js +89 -28
  412. package/packages/gateway/dist/web/remote-hand.js.map +1 -1
  413. package/packages/gateway/dist/web/secret-request.d.ts +54 -0
  414. package/packages/gateway/dist/web/secret-request.d.ts.map +1 -0
  415. package/packages/gateway/dist/web/secret-request.js +264 -0
  416. package/packages/gateway/dist/web/secret-request.js.map +1 -0
  417. package/packages/gateway/dist/web/secrets.d.ts +1 -0
  418. package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
  419. package/packages/gateway/dist/web/secrets.js +1 -1
  420. package/packages/gateway/dist/web/secrets.js.map +1 -1
  421. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  422. package/packages/gateway/dist/web/server.js +72 -3
  423. package/packages/gateway/dist/web/server.js.map +1 -1
  424. package/packages/install/dist/.tsbuildinfo +1 -1
  425. package/packages/install/dist/app-layout.d.ts +24 -0
  426. package/packages/install/dist/app-layout.d.ts.map +1 -1
  427. package/packages/install/dist/app-layout.js +64 -2
  428. package/packages/install/dist/app-layout.js.map +1 -1
  429. package/packages/install/dist/launcher.d.ts.map +1 -1
  430. package/packages/install/dist/launcher.js +89 -10
  431. package/packages/install/dist/launcher.js.map +1 -1
  432. package/packages/install/dist/linux-install.d.ts +41 -0
  433. package/packages/install/dist/linux-install.d.ts.map +1 -0
  434. package/packages/install/dist/linux-install.js +86 -0
  435. package/packages/install/dist/linux-install.js.map +1 -0
  436. package/packages/install/dist/runtime-info.d.ts +23 -0
  437. package/packages/install/dist/runtime-info.d.ts.map +1 -0
  438. package/packages/install/dist/runtime-info.js +69 -0
  439. package/packages/install/dist/runtime-info.js.map +1 -0
  440. package/packages/install/dist/supervisor.d.ts.map +1 -1
  441. package/packages/install/dist/supervisor.js +8 -6
  442. package/packages/install/dist/supervisor.js.map +1 -1
  443. package/packages/install/dist/uninstall.d.ts +20 -0
  444. package/packages/install/dist/uninstall.d.ts.map +1 -1
  445. package/packages/install/dist/uninstall.js +50 -1
  446. package/packages/install/dist/uninstall.js.map +1 -1
  447. package/packages/install/dist/upgrade.d.ts +4 -1
  448. package/packages/install/dist/upgrade.d.ts.map +1 -1
  449. package/packages/install/dist/upgrade.js +77 -51
  450. package/packages/install/dist/upgrade.js.map +1 -1
  451. package/packages/runtime/dist/.tsbuildinfo +1 -1
  452. package/packages/runtime/dist/anthropic.d.ts +7 -0
  453. package/packages/runtime/dist/anthropic.d.ts.map +1 -1
  454. package/packages/runtime/dist/anthropic.js +19 -1
  455. package/packages/runtime/dist/anthropic.js.map +1 -1
  456. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  457. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  458. package/packages/tools/browser/dist/controller.d.ts +16 -1
  459. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  460. package/packages/tools/browser/dist/controller.js +59 -5
  461. package/packages/tools/browser/dist/controller.js.map +1 -1
  462. package/packages/tools/browser/dist/driver.d.ts +12 -0
  463. package/packages/tools/browser/dist/driver.d.ts.map +1 -1
  464. package/packages/tools/browser/dist/driver.js +41 -2
  465. package/packages/tools/browser/dist/driver.js.map +1 -1
  466. package/packages/tools/browser/dist/extension.d.ts +49 -9
  467. package/packages/tools/browser/dist/extension.d.ts.map +1 -1
  468. package/packages/tools/browser/dist/extension.js +145 -21
  469. package/packages/tools/browser/dist/extension.js.map +1 -1
  470. package/packages/tools/browser/dist/index.d.ts +10 -6
  471. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  472. package/packages/tools/browser/dist/index.js +22 -8
  473. package/packages/tools/browser/dist/index.js.map +1 -1
  474. package/packages/tools/browser/dist/routes.d.ts +10 -1
  475. package/packages/tools/browser/dist/routes.d.ts.map +1 -1
  476. package/packages/tools/browser/dist/routes.js +24 -0
  477. package/packages/tools/browser/dist/routes.js.map +1 -1
  478. package/packages/tools/browser/dist/service.d.ts +48 -1
  479. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  480. package/packages/tools/browser/dist/service.js +114 -11
  481. package/packages/tools/browser/dist/service.js.map +1 -1
  482. package/packages/tools/browser/dist/types.d.ts +54 -3
  483. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  484. package/packages/tools/browser/dist/types.js +17 -1
  485. package/packages/tools/browser/dist/types.js.map +1 -1
  486. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  487. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  488. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  489. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  490. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  491. package/packages/web/dist/assets/index-DgpPl0TR.js +155 -0
  492. package/packages/web/dist/assets/index-rMRjibNI.css +1 -0
  493. package/packages/web/dist/assets/{lottie_light-D7CS-IeP.js → lottie_light-twPed1FM.js} +1 -1
  494. package/packages/web/dist/build.json +1 -1
  495. package/packages/web/dist/index.html +2 -2
  496. package/packages/web/dist/precache.json +4 -4
  497. package/node_modules/content-disposition/index.js +0 -536
  498. package/node_modules/playwright/jsx-runtime.js +0 -42
  499. package/node_modules/playwright/jsx-runtime.mjs +0 -21
  500. package/node_modules/playwright-core/lib/vite/recorder/assets/index-hrlLqLtq.js +0 -129
  501. package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +0 -182
  502. package/packages/web/dist/assets/index-BibqUZwt.js +0 -155
  503. package/packages/web/dist/assets/index-DBVZzTau.css +0 -1
@@ -54,7 +54,7 @@ import { compareSemver, parseSemver } from '@buddi/core/semver';
54
54
  import { atomicJson, launchAgentLabel, SERVICE_UNIT_VAR } from './environment.js';
55
55
  import { JobStore } from './backup.js';
56
56
  import { createPostgresCheck } from './postgres-check.js';
57
- import { APP_BUNDLE, appLayout, insideAppBundle, placeRelease, pruneReleases, releaseDir, stageRelease, switchCurrent } from './app-layout.js';
57
+ import { APP_BUNDLE, LINUX_INSTALL_LINE, appLayout, appRuns, insideAppBundle, placeRelease, pruneReleases, releaseDir, stageRelease, switchCurrent, takeReleasesLock } from './app-layout.js';
58
58
  const run = promisify(execFile);
59
59
  /** Where `buddi` is published, and where the check and the install both look. */
60
60
  export const DEFAULT_REGISTRY = 'https://registry.npmjs.org';
@@ -598,7 +598,7 @@ export function restartPlan(facts) {
598
598
  * owner actually asked for.
599
599
  */
600
600
  export async function handOver(opts) {
601
- const plan = opts.plan ?? restartPlan({ platform: process.platform, label: launchAgentLabel(opts.ctx.data), serviceUnit: process.env[SERVICE_UNIT_VAR] ?? opts.env[SERVICE_UNIT_VAR], xpcServiceName: process.env.XPC_SERVICE_NAME ?? opts.env.XPC_SERVICE_NAME, appLayout: appLayout(opts.env) !== undefined });
601
+ const plan = opts.plan ?? restartPlan({ platform: process.platform, label: launchAgentLabel(opts.ctx.data), serviceUnit: process.env[SERVICE_UNIT_VAR] ?? opts.env[SERVICE_UNIT_VAR], xpcServiceName: process.env.XPC_SERVICE_NAME ?? opts.env.XPC_SERVICE_NAME, appLayout: appRuns(opts.env) });
602
602
  const log = opts.log ?? ((line) => console.error(line));
603
603
  if (plan.mode === 'launchd' || plan.mode === 'systemd' || plan.mode === 'app') {
604
604
  log(`supervisor: exiting for the upgrade; ${plan.reason}.`);
@@ -687,6 +687,10 @@ export function recoverySentence(entry, opts = {}) {
687
687
  // buddi.app keeps the release that ran before; its menu goes back to it.
688
688
  return head + `In the buddi menu, choose Advanced → Restart with the Previous Version (${entry.from}), then restore ${entry.backup ?? 'that backup'} in Settings → Backups.`;
689
689
  }
690
+ if (opts.linux === true) {
691
+ // The Linux install (scripts/install.sh) installs any version again, with its own Node.
692
+ return head + `Install ${entry.from} again with \`${LINUX_INSTALL_LINE.replace('| sh', `| BUDDI_VERSION=${entry.from} sh`)}\` and run \`buddi backup restore ${entry.backup ?? '<backup>'}\`.`;
693
+ }
690
694
  return head + `Reinstall with \`npm install -g ${PACKAGE_NAME}@${entry.from}\` and run \`buddi backup restore ${entry.backup ?? '<backup>'}\`.`;
691
695
  }
692
696
  /** The `@buddi/core` folder a release root resolves, as the new gateway will. */
@@ -715,7 +719,8 @@ export function createUpgradeService(opts) {
715
719
  /** buddi.app's releases folder, when the app runs this installation. */
716
720
  const releases = appLayout(ctx.env);
717
721
  const npm = opts.npm ?? (async (bin, argv, where) => await run(bin, argv, where));
718
- const dressed = (view) => releases === undefined ? view : { ...view, app: true };
722
+ // The Linux install shares the layout, not the app's menu: its view is npm's words.
723
+ const dressed = (view) => appRuns(ctx.env) ? { ...view, app: true } : view;
719
724
  let running;
720
725
  /** Has the code under this process already been replaced? See `perform`. */
721
726
  let replaced = false;
@@ -924,12 +929,13 @@ export function createUpgradeService(opts) {
924
929
  */
925
930
  const performInApp = async (job, version, dir, give, startedAt, setTo, setArchive) => {
926
931
  if (ctx.env.BUDDI_UPGRADE_SOURCE?.trim())
927
- return await give('checking', 'buddi.app upgrades from the registry only; BUDDI_UPGRADE_SOURCE is for npm installations.', false);
932
+ return await give('checking', 'This installation upgrades from the registry only; BUDDI_UPGRADE_SOURCE is for npm installations.', false);
928
933
  const resolved = await resolveVersion(version);
929
934
  if ('error' in resolved)
930
935
  return await give('checking', resolved.error, false);
931
936
  const to = resolved.version;
932
937
  setTo(to);
938
+ let archiveTaken;
933
939
  if (opts.http === undefined)
934
940
  return await give('checking', 'this installation has no outbound transport', false);
935
941
  const served = await tarballServed(registry, to, opts.http, { auth }).catch(() => undefined);
@@ -940,63 +946,83 @@ export function createUpgradeService(opts) {
940
946
  return await give('checking', `${to} is the version running.`, false);
941
947
  }
942
948
  /*
943
- * Everything is checked in a staging folder of its own, and only a release
944
- * that passed every check is renamed into `buddi-<v>`: a failed retry never
945
- * touches a `buddi-<v>` that `previous` (after a rollback) still points at.
949
+ * One release change at a time: the Linux installer (scripts/install.sh)
950
+ * takes the same lock around its own switch and pruning.
946
951
  */
947
- jobs.phase(job, 'installing', `downloading and verifying ${to}`);
948
- let staged;
952
+ let unlock;
949
953
  try {
950
- staged = await stageRelease({ releases: dir, version: to, registry, http: opts.http, exec: npm, log, auth, ...(opts.provenanceChain === undefined ? {} : { chain: opts.provenanceChain }) });
954
+ unlock = await takeReleasesLock(dir);
951
955
  }
952
956
  catch (err) {
953
- const said = message(err);
954
- return await give('installing', isNotFound(said) ? processingSentence(to) : said, false);
957
+ return await give('checking', message(err), false);
955
958
  }
956
- const dropStaging = async () => { await rm(staged.staging, { recursive: true, force: true }).catch(() => { }); };
957
- if (ctx.state.database !== 'external') {
958
- jobs.phase(job, 'verifying', `checking that ${to} can start its database`);
959
- const verdict = await checkPostgres(staged.root);
960
- if (!verdict.ok) {
959
+ let handOver = false;
960
+ try {
961
+ /*
962
+ * Everything is checked in a staging folder of its own, and only a release
963
+ * that passed every check is renamed into `buddi-<v>`: a failed retry never
964
+ * touches a `buddi-<v>` that `previous` (after a rollback) still points at.
965
+ */
966
+ jobs.phase(job, 'installing', `downloading and verifying ${to}`);
967
+ let staged;
968
+ try {
969
+ staged = await stageRelease({ releases: dir, version: to, registry, http: opts.http, exec: npm, log, auth, ...(opts.provenanceChain === undefined ? {} : { chain: opts.provenanceChain }) });
970
+ }
971
+ catch (err) {
972
+ const said = message(err);
973
+ return await give('installing', isNotFound(said) ? processingSentence(to) : said, false);
974
+ }
975
+ const dropStaging = async () => { await rm(staged.staging, { recursive: true, force: true }).catch(() => { }); };
976
+ if (ctx.state.database !== 'external') {
977
+ jobs.phase(job, 'verifying', `checking that ${to} can start its database`);
978
+ const verdict = await checkPostgres(staged.root);
979
+ if (!verdict.ok) {
980
+ await dropStaging();
981
+ return await give('verifying', `${verdict.error} buddi did not switch to ${to}. It is still running on ${current}.`, false);
982
+ }
983
+ }
984
+ let placed;
985
+ try {
986
+ placed = await placeRelease(dir, to, staged.staging, log);
987
+ }
988
+ catch (err) {
961
989
  await dropStaging();
962
- return await give('verifying', `${verdict.error} buddi did not switch to ${to}. It is still running on ${current}.`, false);
990
+ return await give('installing', `could not put ${to} in place: ${message(err)}`, false);
963
991
  }
964
- }
965
- let placed;
966
- try {
967
- placed = await placeRelease(dir, to, staged.staging, log);
968
- }
969
- catch (err) {
970
- await dropStaging();
971
- return await give('installing', `could not put ${to} in place: ${message(err)}`, false);
972
- }
973
- // Only what neither link uses goes: a kept `buddi-<v>` that `previous` names stays.
974
- const discard = async () => { await pruneReleases(dir).catch(() => []); };
975
- const taken = await takeBackup(job);
976
- if ('error' in taken) {
977
- await discard();
978
- return await give('backup', taken.error, false);
979
- }
980
- setArchive(taken.archive);
981
- jobs.phase(job, 'stopping', 'stopping the gateway; the database stays up');
982
- await opts.stopGateway();
983
- try {
984
- await switchCurrent(dir, placed.root, ctx.root);
985
- }
986
- catch (err) {
987
- return await give('installing', `could not switch to ${to}: ${message(err)}`, true);
988
- }
989
- // The previous release's folder may be gone now, and with it the core every
990
- // plugin was linked to. Never in the way of the hand-over.
991
- if (opts.relinkPlugins !== undefined) {
992
+ // Only what neither link uses goes: a kept `buddi-<v>` that `previous` names stays.
993
+ const discard = async () => { await pruneReleases(dir).catch(() => []); };
994
+ const taken = await takeBackup(job);
995
+ if ('error' in taken) {
996
+ await discard();
997
+ return await give('backup', taken.error, false);
998
+ }
999
+ setArchive(taken.archive);
1000
+ jobs.phase(job, 'stopping', 'stopping the gateway; the database stays up');
1001
+ await opts.stopGateway();
992
1002
  try {
993
- await opts.relinkPlugins(releaseCoreDir(placed.root));
1003
+ await switchCurrent(dir, placed.root, ctx.root);
994
1004
  }
995
1005
  catch (err) {
996
- log(`upgrade: relinking plugins to ${to} failed (${message(err)}); the gateway relinks them at start.`);
1006
+ return await give('installing', `could not switch to ${to}: ${message(err)}`, true);
997
1007
  }
1008
+ // The previous release's folder may be gone now, and with it the core every
1009
+ // plugin was linked to. Never in the way of the hand-over.
1010
+ if (opts.relinkPlugins !== undefined) {
1011
+ try {
1012
+ await opts.relinkPlugins(releaseCoreDir(placed.root));
1013
+ }
1014
+ catch (err) {
1015
+ log(`upgrade: relinking plugins to ${to} failed (${message(err)}); the gateway relinks them at start.`);
1016
+ }
1017
+ }
1018
+ handOver = true;
1019
+ archiveTaken = taken.archive;
1020
+ }
1021
+ finally {
1022
+ await unlock();
998
1023
  }
999
- await handOverTo(job, to, startedAt, taken.archive);
1024
+ if (handOver)
1025
+ await handOverTo(job, to, startedAt, archiveTaken);
1000
1026
  };
1001
1027
  /** The point of no return, shared by both layouts. */
1002
1028
  const handOverTo = async (job, to, startedAt, archive) => {
@@ -1146,7 +1172,7 @@ export async function finishUpgrade(ctx, pending, outcome, step = 'migrating') {
1146
1172
  return entry;
1147
1173
  }
1148
1174
  /** The `upgrade` row `buddi doctor` prints, in a packaged installation. */
1149
- export function upgradeDoctorLines(view, phase) {
1175
+ export function upgradeDoctorLines(view, phase, opts = {}) {
1150
1176
  const lines = [`Version: ${view.current}${view.updateAvailable ? ` (${view.latest} is available)` : ''}`];
1151
1177
  lines.push(view.checkedAt === undefined
1152
1178
  ? `Update check: ${view.checkEnabled ? 'on, not run yet' : 'off'}`
@@ -1155,7 +1181,7 @@ export function upgradeDoctorLines(view, phase) {
1155
1181
  if (last !== undefined) {
1156
1182
  lines.push(`Last upgrade: ${last.from} to ${last.to}, ${last.outcome}${last.step === undefined ? '' : ` at ${last.step}`}`);
1157
1183
  if (phase === 'upgrade-failed' && last.outcome === 'failed')
1158
- lines.push(recoverySentence(last, { app: view.app === true }));
1184
+ lines.push(recoverySentence(last, { app: view.app === true, linux: opts.linux === true }));
1159
1185
  }
1160
1186
  return lines;
1161
1187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG9L,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAC7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAE7D,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,mEAAmE;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AAE1C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAmEhC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,GAAsB;IAChD,MAAM,KAAK,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACrC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC1G,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,OAAO,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0C,CAAC;QACzH,OAAO;YACL,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAEnE,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,SAA6B,EAAE,OAAe;IACpE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClD,4EAA4E;IAC5E,4DAA4D;IAC5D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAe;IAClE,IAAI,MAAyC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9E,MAAM,KAAK,GAA+B,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;YAChC,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxH,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvH;QACD,OAAO;QACP,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;KACnF,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAmB;IACvE,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACvJ,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9H,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9E,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;QACjC,eAAe,EAAE,KAAK,IAAI,UAAU,KAAK,SAAS;QAClD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACrH,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,2BAA2B,OAAO,+BAA+B,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAe;IAC1D,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,YAAY,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,MAAM,CAAC;AAC7G,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,GAAsB,EAAE,OAAiC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;IACxI,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9H,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC/C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACnF,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/I,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,OAAO,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI;YAAE,OAAO,EAAE,aAAa,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC;QAC5F,IAAI,IAAI,IAAI,QAAQ;YAAE,OAAO,EAAE,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC3J,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAwC;IAC7F,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpE,IAAI,CAAC;QAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACnG,CAAC;AASD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAmB,EAAE,OAAsB,EAAE;IAClH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IACvB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,YAAY,IAAI,OAAO,EAAE,EAAE;YAC3D,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAiD,CAAC;YACrG,IAAI,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE;gBAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnG,CAAC;IACH,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACzG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YACnK,OAAO,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,uFAAuF;IACvF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI;QACT,4CAA4C;SAC3C,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxC,4CAA4C;SAC3C,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC;SAClD,OAAO,CAAC,mCAAmC,EAAE,QAAQ,CAAC;SACtD,OAAO,CAAC,+CAA+C,EAAE,SAAS,CAAC;SACnE,OAAO,CAAC,yCAAyC,EAAE,QAAQ,CAAC;SAC5D,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;AAUpC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAAmB,EAAE,IAA6B;IAC3G,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,YAAY,SAAS,EAAE;QAC5D,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QACrE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;KAC9C,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAsF,CAAC;IACvH,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC9G,2EAA2E;IAC3E,8EAA8E;IAC9E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,OAAO,2BAA2B,CAAC,CAAC;IAC9G,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzH,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACnG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;AAC1F,CAAC;AAeD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,WAAqC,OAAO,CAAC,QAAQ;IAC/F,2EAA2E;IAC3E,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,cAAc,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,gDAAgD;QAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC7H,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GACrB,6EAA6E,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAA+G,EAAE;IAEjH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;QAChD,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAuB,CAAC;QAAC,CAAC;QACzG,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACtH,OAAO,MAAM,CAAC;AAChB,CAAC;AAKD;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAgE;IACxG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO;QACL,SAAS;QACT,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,IAAI;QACJ,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,kEAAkE;QAClE,kBAAkB;QAClB,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAA0B;IAChE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAKD,oFAAoF;AACpF,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoE,EAAE;IACpG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAc,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,GAAY,EAAS,EAAE;QACjE,MAAM,MAAM,GAAI,GAAkC,EAAE,MAAM,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9F,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,YAAY,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,WAAW,CAAC,KAAoK;IAC9L,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9F,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,0EAA0E,EAAE,CAAC;IACjH,CAAC;IACD,uEAAuE;IACvE,8DAA8D;IAC9D,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1F,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,2EAA2E,EAAE,CAAC;IAClH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC;AACpF,CAAC;AAyBD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjS,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9E,GAAG,CAAC,wCAAwC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,CAAC;YACH,uEAAuE;YACvE,uEAAuE;YACvE,sCAAsC;YACtC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YACtF,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;gBACzE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG;aAC/D,CAAC,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,GAAG,CAAC,oDAAoD,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChG,CAAC;gBAAS,CAAC;YAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACtC,CAAC,CAAC;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,SAAS,CAAC;YACR,IAAI,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACnF,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,MAAM;YACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,GAAG,CAAC,6DAA6D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACrL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,SAAS,GAAG,KAAK;IACpE,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,EAAE;YACpI,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG;oBAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAC,CAAC;gBAAC,CAAC;gBAC1E,MAAM,CAAC;oBAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;wEAEwE;AAExE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA0B,EAAE,OAA2C,EAAE;IACxG,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC/E,MAAM,IAAI,GAAG,cAAc,KAAK,CAAC,EAAE,WAAW,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,eAAe,IAAI;QACxF,6BAA6B,KAAK,CAAC,MAAM,IAAI,eAAe,IAAI,CAAC;IACnE,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACtB,yEAAyE;QACzE,OAAO,IAAI,GAAG,2EAA2E,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,MAAM,IAAI,aAAa,yBAAyB,CAAC;IAC/K,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,wFAAwF;QACxF,OAAO,IAAI,GAAG,WAAW,KAAK,CAAC,IAAI,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,KAAK,CAAC,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAC,MAAM,IAAI,UAAU,KAAK,CAAC;IACjM,CAAC;IACD,OAAO,IAAI,GAAG,mCAAmC,YAAY,IAAI,KAAK,CAAC,IAAI,qCAAqC,KAAK,CAAC,MAAM,IAAI,UAAU,KAAK,CAAC;AAClJ,CAAC;AAqDD,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC1G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAC9D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,uEAAuE;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,iBAAiB,CAAC,CAAC;IACrH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;IACvD,wEAAwE;IACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAc,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,oFAAoF;IACpF,MAAM,OAAO,GAAG,CAAC,IAAiB,EAAe,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,IAAI,OAA+B,CAAC;IACpC,4EAA4E;IAC5E,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,IAAI,GAAG,GAA0B,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,KAAK,EAAE,KAAmB,EAAyB,EAAE;QAChE,MAAM,IAAI,GAAiB,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACzG,MAAM,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,IAA2B,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnE,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChJ,wEAAwE;YACxE,wEAAwE;YACxE,mDAAmD;YACnD,OAAO,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE;oBACnC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO;oBAChE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACpE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;iBAClD,EAAE,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,2DAA2D;YAC3D,OAAO,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,GAAc,EAAE,MAAc,EAAkC,EAAE;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,SAAS,CAAC;YACR,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;YAC7C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC5C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,KAA0B,EAAiB,EAAE;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,cAAc,GAAG,KAAK,EAAE,KAAyB,EAAoD,EAAE;QAC3G,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,sCAAsC,EAAE,CAAC;QAC5G,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAgB,EAAE,CAAC;QAC9G,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACvG,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,mDAAmD,EAAE,CAAC;IAC7F,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,GAAe,EAAE,OAA2B,EAAiB,EAAE;QACpF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACpD,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,EAAE,GAAG,OAAO,IAAI,SAAS,CAAC;QAC9B,IAAI,OAA2B,CAAC;QAChC,sEAAsE;QACtE,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAE,KAAa,EAAE,OAAgB,EAAiB,EAAE;YAClF,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACzG,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5K,IAAI,OAAO,EAAE,CAAC;gBACZ,mEAAmE;gBACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,GAAG,CAAC,YAAY,IAAI,sCAAsC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;;gBAAM,GAAG,CAAC,YAAY,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1J,uEAAuE;QACvE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,MAAM;YAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1E,IAAI,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,QAAQ;gBAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9E,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;YACtB,IAAI,GAAG,GAAG,YAAY,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7C,+DAA+D;YAC/D,oDAAoD;YACpD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7F,IAAI,MAAM,KAAK,KAAK;oBAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,KAAK;YAAE,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,6CAA6C,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2EAA2E;YAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnH,CAAC;QAED;;;;;WAKG;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,yBAAyB,SAAS,CAAC,IAAI,IAAI,eAAe,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,wCAAwC,EAAE,IAAI,CAAC,CAAC;QACnL,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACtD,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,sBAAsB,SAAS,CAAC,OAAO,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtG,CAAC;QACD,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAEvB;;;;;;;WAOG;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,4BAA4B,EAAE,GAAG,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAAE,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,6DAA6D,EAAE,KAAK,CAAC,CAAC;gBACxI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,gBAAgB,OAAO,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,GAAG,YAAY,IAAI,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,eAAe,CAAC,CAAC;gBAC7F,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,YAAY,OAAO,sBAAsB,OAAO,CAAC,GAAG,CAAC,2BAA2B,YAAY,IAAI,OAAO,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBAClL,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,2BAA2B,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,KAAK,EAAE,GAAe,EAAgE,EAAE;QACzG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,QAAQ,EAAE,YAAY,KAAK,KAAK,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,4JAA4J,EAAE,CAAC;QACjL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,yCAAyC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ,IAAI,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAAC;QAC5F,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,2BAA2B,EAAE,CAAC;QACvF,OAAO,EAAE,OAAO,EAAG,IAAI,CAAC,MAA2C,EAAE,OAAO,EAAE,CAAC;IACjF,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,KAAK,EACxB,GAAe,EAAE,OAA2B,EAAE,GAAW,EACzD,IAAsE,EACtE,SAAiB,EAAE,KAA2B,EAAE,UAAiD,EAClF,EAAE;QACjB,IAAI,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE;YAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,mGAAmG,EAAE,KAAK,CAAC,CAAC;QACpL,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,IAAI,YAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,6CAA6C,EAAE,KAAK,CAAC,CAAC;QACjH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7F,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpF,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QAED;;;WAGG;QACH,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAC7C,OAAO,GAAG,EAAE,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACL;;;;eAIG;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/L,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/H,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;gBAC3E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;oBAChB,MAAM,WAAW,EAAE,CAAC;oBACpB,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,4BAA4B,EAAE,4BAA4B,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC9H,CAAC;YACH,CAAC;YAED,IAAI,MAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,WAAW,EAAE,CAAC;gBACpB,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1F,CAAC;YACD,oFAAoF;YACpF,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBAAC,MAAM,OAAO,EAAE,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAC3F,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,6CAA6C,CAAC,CAAC;YAC3E,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,uBAAuB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACtF,CAAC;YACD,4EAA4E;YAC5E,2DAA2D;YAC3D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC9D,OAAO,GAAG,EAAE,CAAC;oBAAC,GAAG,CAAC,iCAAiC,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBAAC,CAAC;YAC1H,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,CAAC;gBAAS,CAAC;YAAC,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC;QAC7B,IAAI,QAAQ;YAAE,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,sDAAsD;IACtD,MAAM,UAAU,GAAG,KAAK,EAAE,GAAe,EAAE,EAAU,EAAE,SAAiB,EAAE,OAA2B,EAAiB,EAAE;QACtH,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACvD;;;;;;;;;;;;WAYG;QACH,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC5G,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACtE,GAAG,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACzG,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1M,GAAG,CAAC,YAAY,EAAE,yDAAyD,KAAK,qDAAqD,CAAC,CAAC;YACvI,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QAEP,KAAK,CAAC,IAAI;YACR,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,KAAK;YACT,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,OAAO;YAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,KAAK,CAAC,OAAO;YACX,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,sCAAsC,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;YAC3F,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;YAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,GAAG,GAAG,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxC,uDAAuD;oBACvD,IAAI,CAAC,QAAQ;wBAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,CAAC;wBAAS,CAAC;oBACT,OAAO,GAAG,SAAS,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC,CAAC;YACN,OAAO,GAAG,CAAC;QACb,CAAC;QAED,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEvB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAE/B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,SAAS;QAEjC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE;YACzB,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO;YAClC,uEAAuE;YACvE,mEAAmE;YACnE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,gBAAgB;gBAAE,OAAO;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnF,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,aAAa;gBAAE,OAAO;YAC1E,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;wEAEwE;AAExE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,OAA0B,EAAE,OAAoD,EAAE,IAAI,GAAG,WAAW;IACzJ;;;;;;;;;OASG;IACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,IAAI,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,SAAS,SAAS,gDAAgD,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAClI,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAwB;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACxC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAe,EAAE,CAAC;KACjF,CAAC;IACF,mEAAmE;IACnE,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC1D,IAAI,OAAO,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IACzC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAAC,IAAiB,EAAE,KAAyB,EAAE,OAA4B,EAAE;IAC7G,MAAM,KAAK,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;QACrC,CAAC,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,EAAE;QAClE,CAAC,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACzI,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5H,IAAI,KAAK,KAAK,gBAAgB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1J,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}