@jingyi0605/codingns4dsh 0.1.7-rc.3 → 0.2.0-beta.2

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 (735) hide show
  1. package/LICENSE +695 -0
  2. package/README.en.md +46 -15
  3. package/README.md +36 -15
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  5. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -0
  6. package/data/build/dist/bootstrap/dsh-connection-adapter.js.map +1 -0
  7. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts +50 -0
  8. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts.map +1 -0
  9. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +239 -0
  10. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -0
  11. package/data/build/dist/bootstrap/index.d.ts +3 -1
  12. package/data/build/dist/bootstrap/index.d.ts.map +1 -0
  13. package/data/build/dist/bootstrap/index.js +1 -0
  14. package/data/build/dist/bootstrap/index.js.map +1 -0
  15. package/data/build/dist/client/account-bar.d.ts +7 -1
  16. package/data/build/dist/client/account-bar.d.ts.map +1 -0
  17. package/data/build/dist/client/account-bar.js +151 -69
  18. package/data/build/dist/client/account-bar.js.map +1 -0
  19. package/data/build/dist/client/bundle.js +8174 -2024
  20. package/data/build/dist/client/bundle.js.map +1 -0
  21. package/data/build/dist/client/cli-catalog.d.ts.map +1 -0
  22. package/data/build/dist/client/cli-catalog.js.map +1 -0
  23. package/data/build/dist/client/cli-slots.d.ts.map +1 -0
  24. package/data/build/dist/client/cli-slots.js +15 -4
  25. package/data/build/dist/client/cli-slots.js.map +1 -0
  26. package/data/build/dist/client/context-breakdown-dom.d.ts +53 -0
  27. package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -0
  28. package/data/build/dist/client/context-breakdown-dom.js +171 -0
  29. package/data/build/dist/client/context-breakdown-dom.js.map +1 -0
  30. package/data/build/dist/client/debug/ui.d.ts.map +1 -0
  31. package/data/build/dist/client/debug/ui.js +2 -1
  32. package/data/build/dist/client/debug/ui.js.map +1 -0
  33. package/data/build/dist/client/dsh-h5-bootstrap.d.ts.map +1 -0
  34. package/data/build/dist/client/dsh-h5-bootstrap.js +19 -6
  35. package/data/build/dist/client/dsh-h5-bootstrap.js.map +1 -0
  36. package/data/build/dist/client/dsh-runtime-version.d.ts +3 -2
  37. package/data/build/dist/client/dsh-runtime-version.d.ts.map +1 -0
  38. package/data/build/dist/client/dsh-runtime-version.js +7 -6
  39. package/data/build/dist/client/dsh-runtime-version.js.map +1 -0
  40. package/data/build/dist/client/external-tool-stream.d.ts.map +1 -0
  41. package/data/build/dist/client/external-tool-stream.js.map +1 -0
  42. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -0
  43. package/data/build/dist/client/features/cli-adapters.js +20 -4
  44. package/data/build/dist/client/features/cli-adapters.js.map +1 -0
  45. package/data/build/dist/client/features/debug.d.ts.map +1 -0
  46. package/data/build/dist/client/features/debug.js +2 -2
  47. package/data/build/dist/client/features/debug.js.map +1 -0
  48. package/data/build/dist/client/features/file-management-panel.d.ts.map +1 -0
  49. package/data/build/dist/client/features/file-management-panel.js.map +1 -0
  50. package/data/build/dist/client/features/file-management.d.ts.map +1 -0
  51. package/data/build/dist/client/features/file-management.js +2 -2
  52. package/data/build/dist/client/features/file-management.js.map +1 -0
  53. package/data/build/dist/client/features/index.d.ts +5 -2
  54. package/data/build/dist/client/features/index.d.ts.map +1 -0
  55. package/data/build/dist/client/features/index.js +6 -2
  56. package/data/build/dist/client/features/index.js.map +1 -0
  57. package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -0
  58. package/data/build/dist/client/features/lan-access-panel.js +80 -2
  59. package/data/build/dist/client/features/lan-access-panel.js.map +1 -0
  60. package/data/build/dist/client/features/lan-access-status.d.ts +40 -0
  61. package/data/build/dist/client/features/lan-access-status.d.ts.map +1 -0
  62. package/data/build/dist/client/features/lan-access-status.js +118 -0
  63. package/data/build/dist/client/features/lan-access-status.js.map +1 -0
  64. package/data/build/dist/client/features/lan-access.d.ts +4 -1
  65. package/data/build/dist/client/features/lan-access.d.ts.map +1 -0
  66. package/data/build/dist/client/features/lan-access.js +29 -4
  67. package/data/build/dist/client/features/lan-access.js.map +1 -0
  68. package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -0
  69. package/data/build/dist/client/features/login-protection-panel.js.map +1 -0
  70. package/data/build/dist/client/features/login-protection-session.d.ts.map +1 -0
  71. package/data/build/dist/client/features/login-protection-session.js.map +1 -0
  72. package/data/build/dist/client/features/login-protection.d.ts.map +1 -0
  73. package/data/build/dist/client/features/login-protection.js +2 -2
  74. package/data/build/dist/client/features/login-protection.js.map +1 -0
  75. package/data/build/dist/client/features/mobile-access-panel.d.ts +12 -0
  76. package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -0
  77. package/data/build/dist/client/features/mobile-access-panel.js +259 -0
  78. package/data/build/dist/client/features/mobile-access-panel.js.map +1 -0
  79. package/data/build/dist/client/features/mobile-access.d.ts +13 -0
  80. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -0
  81. package/data/build/dist/client/features/mobile-access.js +75 -0
  82. package/data/build/dist/client/features/mobile-access.js.map +1 -0
  83. package/data/build/dist/client/features/peer-host.d.ts +35 -1
  84. package/data/build/dist/client/features/peer-host.d.ts.map +1 -0
  85. package/data/build/dist/client/features/peer-host.js +495 -56
  86. package/data/build/dist/client/features/peer-host.js.map +1 -0
  87. package/data/build/dist/client/features/reverse-proxy-panel.d.ts.map +1 -0
  88. package/data/build/dist/client/features/reverse-proxy-panel.js +2 -1
  89. package/data/build/dist/client/features/reverse-proxy-panel.js.map +1 -0
  90. package/data/build/dist/client/features/reverse-proxy.d.ts.map +1 -0
  91. package/data/build/dist/client/features/reverse-proxy.js +2 -2
  92. package/data/build/dist/client/features/reverse-proxy.js.map +1 -0
  93. package/data/build/dist/client/features/subscription-usage-panel.d.ts +15 -0
  94. package/data/build/dist/client/features/subscription-usage-panel.d.ts.map +1 -0
  95. package/data/build/dist/client/features/subscription-usage-panel.js +117 -0
  96. package/data/build/dist/client/features/subscription-usage-panel.js.map +1 -0
  97. package/data/build/dist/client/features/terminal-enhancement-panel.d.ts.map +1 -0
  98. package/data/build/dist/client/features/terminal-enhancement-panel.js.map +1 -0
  99. package/data/build/dist/client/features/terminal-enhancement.d.ts.map +1 -0
  100. package/data/build/dist/client/features/terminal-enhancement.js +2 -2
  101. package/data/build/dist/client/features/terminal-enhancement.js.map +1 -0
  102. package/data/build/dist/client/features/types.d.ts +12 -0
  103. package/data/build/dist/client/features/types.d.ts.map +1 -0
  104. package/data/build/dist/client/features/types.js.map +1 -0
  105. package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -0
  106. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +27 -7
  107. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -0
  108. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -0
  109. package/data/build/dist/client/features/workspace-session-enhancement.js +34 -6
  110. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -0
  111. package/data/build/dist/client/file-management-dom.d.ts +2 -0
  112. package/data/build/dist/client/file-management-dom.d.ts.map +1 -0
  113. package/data/build/dist/client/file-management-dom.js +37 -8
  114. package/data/build/dist/client/file-management-dom.js.map +1 -0
  115. package/data/build/dist/client/git-history-graph.d.ts +81 -0
  116. package/data/build/dist/client/git-history-graph.d.ts.map +1 -0
  117. package/data/build/dist/client/git-history-graph.js +195 -0
  118. package/data/build/dist/client/git-history-graph.js.map +1 -0
  119. package/data/build/dist/client/git-management.d.ts.map +1 -0
  120. package/data/build/dist/client/git-management.js +305 -67
  121. package/data/build/dist/client/git-management.js.map +1 -0
  122. package/data/build/dist/client/git-panel-styles.d.ts +28 -0
  123. package/data/build/dist/client/git-panel-styles.d.ts.map +1 -0
  124. package/data/build/dist/client/git-panel-styles.js +95 -0
  125. package/data/build/dist/client/git-panel-styles.js.map +1 -0
  126. package/data/build/dist/client/h5-bootstrap-entry.d.ts.map +1 -0
  127. package/data/build/dist/client/h5-bootstrap-entry.js.map +1 -0
  128. package/data/build/dist/client/host-router.d.ts.map +1 -0
  129. package/data/build/dist/client/host-router.js.map +1 -0
  130. package/data/build/dist/client/index.d.ts +6 -4
  131. package/data/build/dist/client/index.d.ts.map +1 -0
  132. package/data/build/dist/client/index.js +26 -53
  133. package/data/build/dist/client/index.js.map +1 -0
  134. package/data/build/dist/client/lan-access.d.ts.map +1 -0
  135. package/data/build/dist/client/lan-access.js.map +1 -0
  136. package/data/build/dist/client/locale.d.ts.map +1 -0
  137. package/data/build/dist/client/locale.js +170 -12
  138. package/data/build/dist/client/locale.js.map +1 -0
  139. package/data/build/dist/client/mobile-settings-modal-dom.d.ts +49 -0
  140. package/data/build/dist/client/mobile-settings-modal-dom.d.ts.map +1 -0
  141. package/data/build/dist/client/mobile-settings-modal-dom.js +152 -0
  142. package/data/build/dist/client/mobile-settings-modal-dom.js.map +1 -0
  143. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +97 -0
  144. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -0
  145. package/data/build/dist/client/mobile-sidebar-gestures.js +316 -0
  146. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -0
  147. package/data/build/dist/client/mobile-sidebar-logo.d.ts +18 -0
  148. package/data/build/dist/client/mobile-sidebar-logo.d.ts.map +1 -0
  149. package/data/build/dist/client/mobile-sidebar-logo.js +15 -0
  150. package/data/build/dist/client/mobile-sidebar-logo.js.map +1 -0
  151. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +106 -0
  152. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -0
  153. package/data/build/dist/client/mobile-sidebar-rail-dom.js +444 -0
  154. package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -0
  155. package/data/build/dist/client/mobile-vibration.d.ts +16 -0
  156. package/data/build/dist/client/mobile-vibration.d.ts.map +1 -0
  157. package/data/build/dist/client/mobile-vibration.js +20 -0
  158. package/data/build/dist/client/mobile-vibration.js.map +1 -0
  159. package/data/build/dist/client/native-workspace-store.d.ts +29 -0
  160. package/data/build/dist/client/native-workspace-store.d.ts.map +1 -0
  161. package/data/build/dist/client/native-workspace-store.js +64 -0
  162. package/data/build/dist/client/native-workspace-store.js.map +1 -0
  163. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts +13 -0
  164. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts.map +1 -0
  165. package/data/build/dist/client/peer-host-aggregate-refresh.js +14 -0
  166. package/data/build/dist/client/peer-host-aggregate-refresh.js.map +1 -0
  167. package/data/build/dist/client/peer-host-color.d.ts +13 -0
  168. package/data/build/dist/client/peer-host-color.d.ts.map +1 -0
  169. package/data/build/dist/client/peer-host-color.js +57 -0
  170. package/data/build/dist/client/peer-host-color.js.map +1 -0
  171. package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -0
  172. package/data/build/dist/client/peer-host-connection-button.js +6 -3
  173. package/data/build/dist/client/peer-host-connection-button.js.map +1 -0
  174. package/data/build/dist/client/peer-host-management-api.d.ts +34 -0
  175. package/data/build/dist/client/peer-host-management-api.d.ts.map +1 -0
  176. package/data/build/dist/client/peer-host-management-api.js +12 -0
  177. package/data/build/dist/client/peer-host-management-api.js.map +1 -0
  178. package/data/build/dist/client/peer-host-management-panel.d.ts +1 -1
  179. package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -0
  180. package/data/build/dist/client/peer-host-management-panel.js +521 -86
  181. package/data/build/dist/client/peer-host-management-panel.js.map +1 -0
  182. package/data/build/dist/client/peer-host-native-projection.d.ts +46 -0
  183. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -0
  184. package/data/build/dist/client/peer-host-native-projection.js +137 -0
  185. package/data/build/dist/client/peer-host-native-projection.js.map +1 -0
  186. package/data/build/dist/client/peer-host-native-store-projection.d.ts +21 -0
  187. package/data/build/dist/client/peer-host-native-store-projection.d.ts.map +1 -0
  188. package/data/build/dist/client/peer-host-native-store-projection.js +114 -0
  189. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -0
  190. package/data/build/dist/client/peer-host-scoped-client.d.ts.map +1 -0
  191. package/data/build/dist/client/peer-host-scoped-client.js.map +1 -0
  192. package/data/build/dist/client/peer-host-session-controller.d.ts.map +1 -0
  193. package/data/build/dist/client/peer-host-session-controller.js.map +1 -0
  194. package/data/build/dist/client/peer-host-workspace-tab.d.ts +44 -0
  195. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -0
  196. package/data/build/dist/client/peer-host-workspace-tab.js +472 -0
  197. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -0
  198. package/data/build/dist/client/peer-host-workspace-tag.d.ts +47 -0
  199. package/data/build/dist/client/peer-host-workspace-tag.d.ts.map +1 -0
  200. package/data/build/dist/client/peer-host-workspace-tag.js +207 -0
  201. package/data/build/dist/client/peer-host-workspace-tag.js.map +1 -0
  202. package/data/build/dist/client/popup-dismiss.d.ts +48 -0
  203. package/data/build/dist/client/popup-dismiss.d.ts.map +1 -0
  204. package/data/build/dist/client/popup-dismiss.js +93 -0
  205. package/data/build/dist/client/popup-dismiss.js.map +1 -0
  206. package/data/build/dist/client/provider-icon-assets.d.ts.map +1 -0
  207. package/data/build/dist/client/provider-icon-assets.js.map +1 -0
  208. package/data/build/dist/client/provider-icons.d.ts +10 -1
  209. package/data/build/dist/client/provider-icons.d.ts.map +1 -0
  210. package/data/build/dist/client/provider-icons.js +19 -12
  211. package/data/build/dist/client/provider-icons.js.map +1 -0
  212. package/data/build/dist/client/pwa-install-prompt.d.ts +73 -0
  213. package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -0
  214. package/data/build/dist/client/pwa-install-prompt.js +178 -0
  215. package/data/build/dist/client/pwa-install-prompt.js.map +1 -0
  216. package/data/build/dist/client/pwa-notifications.d.ts +105 -0
  217. package/data/build/dist/client/pwa-notifications.d.ts.map +1 -0
  218. package/data/build/dist/client/pwa-notifications.js +192 -0
  219. package/data/build/dist/client/pwa-notifications.js.map +1 -0
  220. package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -0
  221. package/data/build/dist/client/quick-phrase-layout.js.map +1 -0
  222. package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -0
  223. package/data/build/dist/client/quick-phrase-slot.js.map +1 -0
  224. package/data/build/dist/client/remote-web-context.d.ts.map +1 -0
  225. package/data/build/dist/client/remote-web-context.js +26 -2
  226. package/data/build/dist/client/remote-web-context.js.map +1 -0
  227. package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -0
  228. package/data/build/dist/client/session-adapter-cache.js.map +1 -0
  229. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -0
  230. package/data/build/dist/client/session-changed-files-view.js.map +1 -0
  231. package/data/build/dist/client/settings-anchor.d.ts +67 -0
  232. package/data/build/dist/client/settings-anchor.d.ts.map +1 -0
  233. package/data/build/dist/client/settings-anchor.js +64 -0
  234. package/data/build/dist/client/settings-anchor.js.map +1 -0
  235. package/data/build/dist/client/settings-bridge.d.ts +20 -5
  236. package/data/build/dist/client/settings-bridge.d.ts.map +1 -0
  237. package/data/build/dist/client/settings-bridge.js +30 -7
  238. package/data/build/dist/client/settings-bridge.js.map +1 -0
  239. package/data/build/dist/client/settings-section.d.ts.map +1 -0
  240. package/data/build/dist/client/settings-section.js +16 -2
  241. package/data/build/dist/client/settings-section.js.map +1 -0
  242. package/data/build/dist/client/subscription-slot.d.ts +3 -1
  243. package/data/build/dist/client/subscription-slot.d.ts.map +1 -0
  244. package/data/build/dist/client/subscription-slot.js +33 -25
  245. package/data/build/dist/client/subscription-slot.js.map +1 -0
  246. package/data/build/dist/client/terminal/index.d.ts.map +1 -0
  247. package/data/build/dist/client/terminal/index.js.map +1 -0
  248. package/data/build/dist/client/terminal/model.d.ts.map +1 -0
  249. package/data/build/dist/client/terminal/model.js.map +1 -0
  250. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -0
  251. package/data/build/dist/client/terminal/recovery.js.map +1 -0
  252. package/data/build/dist/client/terminal/styles.d.ts.map +1 -0
  253. package/data/build/dist/client/terminal/styles.js.map +1 -0
  254. package/data/build/dist/client/terminal/ui.d.ts.map +1 -0
  255. package/data/build/dist/client/terminal/ui.js +1 -1
  256. package/data/build/dist/client/terminal/ui.js.map +1 -0
  257. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -0
  258. package/data/build/dist/client/terminal/xterm-view.js +1 -1
  259. package/data/build/dist/client/terminal/xterm-view.js.map +1 -0
  260. package/data/build/dist/client/theme.d.ts +17 -5
  261. package/data/build/dist/client/theme.d.ts.map +1 -0
  262. package/data/build/dist/client/theme.js +35 -13
  263. package/data/build/dist/client/theme.js.map +1 -0
  264. package/data/build/dist/client/workspace-session-archive-dom.d.ts +14 -0
  265. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -0
  266. package/data/build/dist/client/workspace-session-archive-dom.js +70 -11
  267. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -0
  268. package/data/build/dist/client/workspace-session-fiber.d.ts.map +1 -0
  269. package/data/build/dist/client/workspace-session-fiber.js.map +1 -0
  270. package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -0
  271. package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -0
  272. package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -0
  273. package/data/build/dist/client/workspace-session-rightbar-dom.js.map +1 -0
  274. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -0
  275. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -0
  276. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts +10 -0
  277. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts.map +1 -0
  278. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js +22 -0
  279. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js.map +1 -0
  280. package/data/build/dist/dsh-capabilities/client/conversation-adapter.d.ts.map +1 -0
  281. package/data/build/dist/dsh-capabilities/client/conversation-adapter.js.map +1 -0
  282. package/data/build/dist/dsh-capabilities/client/locale-adapter.d.ts.map +1 -0
  283. package/data/build/dist/dsh-capabilities/client/locale-adapter.js.map +1 -0
  284. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +5 -2
  285. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -0
  286. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +3 -2
  287. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -0
  288. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.d.ts +2 -2
  289. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.d.ts.map +1 -0
  290. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.js.map +1 -0
  291. package/data/build/dist/dsh-capabilities/client/sidebar-adapter.d.ts.map +1 -0
  292. package/data/build/dist/dsh-capabilities/client/sidebar-adapter.js.map +1 -0
  293. package/data/build/dist/dsh-capabilities/client/theme-adapter.d.ts.map +1 -0
  294. package/data/build/dist/dsh-capabilities/client/theme-adapter.js.map +1 -0
  295. package/data/build/dist/dsh-capabilities/client/typert-adapter.d.ts.map +1 -0
  296. package/data/build/dist/dsh-capabilities/client/typert-adapter.js.map +1 -0
  297. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.d.ts +22 -1
  298. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.d.ts.map +1 -0
  299. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.js +29 -3
  300. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.js.map +1 -0
  301. package/data/build/dist/dsh-capabilities/host/connection-rpc-adapter.d.ts.map +1 -0
  302. package/data/build/dist/dsh-capabilities/host/connection-rpc-adapter.js.map +1 -0
  303. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.d.ts +2 -2
  304. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.d.ts.map +1 -0
  305. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.js.map +1 -0
  306. package/data/build/dist/dsh-capabilities/host/typert-adapter.d.ts.map +1 -0
  307. package/data/build/dist/dsh-capabilities/host/typert-adapter.js.map +1 -0
  308. package/data/build/dist/dsh-capabilities/index.d.ts.map +1 -0
  309. package/data/build/dist/dsh-capabilities/index.js.map +1 -0
  310. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -0
  311. package/data/build/dist/dsh-capabilities/matrix.js +44 -1
  312. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -0
  313. package/data/build/dist/dsh-capabilities/registry.d.ts.map +1 -0
  314. package/data/build/dist/dsh-capabilities/registry.js +6 -2
  315. package/data/build/dist/dsh-capabilities/registry.js.map +1 -0
  316. package/data/build/dist/dsh-capabilities/routes.d.ts +8 -1
  317. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -0
  318. package/data/build/dist/dsh-capabilities/routes.js +260 -7
  319. package/data/build/dist/dsh-capabilities/routes.js.map +1 -0
  320. package/data/build/dist/dsh-capabilities/settings-store.d.ts.map +1 -0
  321. package/data/build/dist/dsh-capabilities/settings-store.js.map +1 -0
  322. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  323. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -0
  324. package/data/build/dist/dsh-capabilities/types.js.map +1 -0
  325. package/data/build/dist/features/host-router.d.ts.map +1 -0
  326. package/data/build/dist/features/host-router.js.map +1 -0
  327. package/data/build/dist/features/index.d.ts.map +1 -0
  328. package/data/build/dist/features/index.js.map +1 -0
  329. package/data/build/dist/features/registry.d.ts +7 -0
  330. package/data/build/dist/features/registry.d.ts.map +1 -0
  331. package/data/build/dist/features/registry.js +20 -2
  332. package/data/build/dist/features/registry.js.map +1 -0
  333. package/data/build/dist/features/resource-scope/index.d.ts.map +1 -0
  334. package/data/build/dist/features/resource-scope/index.js.map +1 -0
  335. package/data/build/dist/host/auth-session.d.ts.map +1 -0
  336. package/data/build/dist/host/auth-session.js.map +1 -0
  337. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +14 -0
  338. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -0
  339. package/data/build/dist/host/cli-adapters/attachment-utils.js +78 -0
  340. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -0
  341. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -0
  342. package/data/build/dist/host/cli-adapters/claude-driver.js +5 -2
  343. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -0
  344. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -0
  345. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -0
  346. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -0
  347. package/data/build/dist/host/cli-adapters/codex-driver.js +248 -45
  348. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -0
  349. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +24 -2
  350. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -0
  351. package/data/build/dist/host/cli-adapters/command-code-driver.js +250 -30
  352. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -0
  353. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts.map +1 -0
  354. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -0
  355. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -0
  356. package/data/build/dist/host/cli-adapters/driver.js.map +1 -0
  357. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -0
  358. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -0
  359. package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -0
  360. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +49 -1
  361. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -0
  362. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -0
  363. package/data/build/dist/host/cli-adapters/feature.js +176 -7
  364. package/data/build/dist/host/cli-adapters/feature.js.map +1 -0
  365. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -0
  366. package/data/build/dist/host/cli-adapters/gemini-driver.js +6 -3
  367. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -0
  368. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -0
  369. package/data/build/dist/host/cli-adapters/grok-driver.js +3 -2
  370. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -0
  371. package/data/build/dist/host/cli-adapters/http-sse-client.d.ts.map +1 -0
  372. package/data/build/dist/host/cli-adapters/http-sse-client.js.map +1 -0
  373. package/data/build/dist/host/cli-adapters/interaction-events.d.ts.map +1 -0
  374. package/data/build/dist/host/cli-adapters/interaction-events.js.map +1 -0
  375. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -0
  376. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -0
  377. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -0
  378. package/data/build/dist/host/cli-adapters/kimi-driver.js +8 -3
  379. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -0
  380. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -0
  381. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -0
  382. package/data/build/dist/host/cli-adapters/legacy-session-settings.d.ts.map +1 -0
  383. package/data/build/dist/host/cli-adapters/legacy-session-settings.js.map +1 -0
  384. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -0
  385. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -0
  386. package/data/build/dist/host/cli-adapters/native-team-proxy.d.ts +36 -0
  387. package/data/build/dist/host/cli-adapters/native-team-proxy.d.ts.map +1 -0
  388. package/data/build/dist/host/cli-adapters/native-team-proxy.js +108 -0
  389. package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -0
  390. package/data/build/dist/host/cli-adapters/official-provider-subscription.d.ts.map +1 -0
  391. package/data/build/dist/host/cli-adapters/official-provider-subscription.js.map +1 -0
  392. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -0
  393. package/data/build/dist/host/cli-adapters/opencode-driver.js +7 -1
  394. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -0
  395. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -0
  396. package/data/build/dist/host/cli-adapters/pi-driver.js +7 -2
  397. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -0
  398. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -0
  399. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -0
  400. package/data/build/dist/host/cli-adapters/provider-registry.d.ts.map +1 -0
  401. package/data/build/dist/host/cli-adapters/provider-registry.js.map +1 -0
  402. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +35 -0
  403. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -0
  404. package/data/build/dist/host/cli-adapters/provider-subscription.js +405 -5
  405. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -0
  406. package/data/build/dist/host/cli-adapters/registry.d.ts +9 -3
  407. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -0
  408. package/data/build/dist/host/cli-adapters/registry.js +30 -0
  409. package/data/build/dist/host/cli-adapters/registry.js.map +1 -0
  410. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -0
  411. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -0
  412. package/data/build/dist/host/cli-adapters/session-probe.d.ts.map +1 -0
  413. package/data/build/dist/host/cli-adapters/session-probe.js.map +1 -0
  414. package/data/build/dist/host/cli-adapters/session-store.d.ts +8 -2
  415. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -0
  416. package/data/build/dist/host/cli-adapters/session-store.js +19 -0
  417. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -0
  418. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -0
  419. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -0
  420. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -0
  421. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -0
  422. package/data/build/dist/host/cli-adapters/tool-observation.d.ts.map +1 -0
  423. package/data/build/dist/host/cli-adapters/tool-observation.js.map +1 -0
  424. package/data/build/dist/host/control-api-client.d.ts.map +1 -0
  425. package/data/build/dist/host/control-api-client.js.map +1 -0
  426. package/data/build/dist/host/credential-store.d.ts.map +1 -0
  427. package/data/build/dist/host/credential-store.js.map +1 -0
  428. package/data/build/dist/host/debug.d.ts.map +1 -0
  429. package/data/build/dist/host/debug.js.map +1 -0
  430. package/data/build/dist/host/dsh-device-runtime.d.ts.map +1 -0
  431. package/data/build/dist/host/dsh-device-runtime.js.map +1 -0
  432. package/data/build/dist/host/dsh-gateway-feature.d.ts.map +1 -0
  433. package/data/build/dist/host/dsh-gateway-feature.js.map +1 -0
  434. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -0
  435. package/data/build/dist/host/dsh-runtime-version.js.map +1 -0
  436. package/data/build/dist/host/features/auth.d.ts.map +1 -0
  437. package/data/build/dist/host/features/auth.js.map +1 -0
  438. package/data/build/dist/host/features/debug.d.ts.map +1 -0
  439. package/data/build/dist/host/features/debug.js.map +1 -0
  440. package/data/build/dist/host/features/file-management.d.ts.map +1 -0
  441. package/data/build/dist/host/features/file-management.js.map +1 -0
  442. package/data/build/dist/host/features/git-management.d.ts.map +1 -0
  443. package/data/build/dist/host/features/git-management.js +133 -23
  444. package/data/build/dist/host/features/git-management.js.map +1 -0
  445. package/data/build/dist/host/features/host-status.d.ts.map +1 -0
  446. package/data/build/dist/host/features/host-status.js.map +1 -0
  447. package/data/build/dist/host/features/index.d.ts.map +1 -0
  448. package/data/build/dist/host/features/index.js.map +1 -0
  449. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -0
  450. package/data/build/dist/host/features/lan-access-dsh.js +30 -1
  451. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -0
  452. package/data/build/dist/host/features/peer-host.d.ts.map +1 -0
  453. package/data/build/dist/host/features/peer-host.js +340 -20
  454. package/data/build/dist/host/features/peer-host.js.map +1 -0
  455. package/data/build/dist/host/features/terminal-process.d.ts.map +1 -0
  456. package/data/build/dist/host/features/terminal-process.js.map +1 -0
  457. package/data/build/dist/host/features/terminal-status.d.ts.map +1 -0
  458. package/data/build/dist/host/features/terminal-status.js.map +1 -0
  459. package/data/build/dist/host/features/types.d.ts +9 -3
  460. package/data/build/dist/host/features/types.d.ts.map +1 -0
  461. package/data/build/dist/host/features/types.js.map +1 -0
  462. package/data/build/dist/host/host-router.d.ts.map +1 -0
  463. package/data/build/dist/host/host-router.js.map +1 -0
  464. package/data/build/dist/host/index-injection.d.ts +27 -5
  465. package/data/build/dist/host/index-injection.d.ts.map +1 -0
  466. package/data/build/dist/host/index-injection.js +77 -11
  467. package/data/build/dist/host/index-injection.js.map +1 -0
  468. package/data/build/dist/host/index.d.ts +8 -2
  469. package/data/build/dist/host/index.d.ts.map +1 -0
  470. package/data/build/dist/host/index.js +54 -7
  471. package/data/build/dist/host/index.js.map +1 -0
  472. package/data/build/dist/host/lan-access-dsh.d.ts +88 -3
  473. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -0
  474. package/data/build/dist/host/lan-access-dsh.js +349 -14
  475. package/data/build/dist/host/lan-access-dsh.js.map +1 -0
  476. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.d.ts +146 -0
  477. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.d.ts.map +1 -0
  478. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js +322 -0
  479. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js.map +1 -0
  480. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.d.ts +8 -0
  481. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.d.ts.map +1 -0
  482. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.js +120 -0
  483. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.js.map +1 -0
  484. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +22 -0
  485. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -0
  486. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +24 -3
  487. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -0
  488. package/data/build/dist/host/modules/peer-host/host-ws-connector.d.ts.map +1 -0
  489. package/data/build/dist/host/modules/peer-host/host-ws-connector.js.map +1 -0
  490. package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.d.ts.map +1 -0
  491. package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.js.map +1 -0
  492. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +9 -0
  493. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -0
  494. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +26 -12
  495. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -0
  496. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.d.ts.map +1 -0
  497. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js +3 -0
  498. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js.map +1 -0
  499. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts +2 -0
  500. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts.map +1 -0
  501. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js +6 -0
  502. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js.map +1 -0
  503. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts +17 -0
  504. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -0
  505. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +52 -0
  506. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -0
  507. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +25 -0
  508. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -0
  509. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +184 -0
  510. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -0
  511. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +22 -0
  512. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -0
  513. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +111 -0
  514. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -0
  515. package/data/build/dist/host/modules/peer-host/peer-host-relay.d.ts.map +1 -0
  516. package/data/build/dist/host/modules/peer-host/peer-host-relay.js.map +1 -0
  517. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +53 -0
  518. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -0
  519. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +153 -0
  520. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -0
  521. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +20 -1
  522. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts.map +1 -0
  523. package/data/build/dist/host/modules/peer-host/peer-host-session.js +118 -37
  524. package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -0
  525. package/data/build/dist/host/modules/peer-host/peer-host-store.d.ts +21 -0
  526. package/data/build/dist/host/modules/peer-host/peer-host-store.d.ts.map +1 -0
  527. package/data/build/dist/host/modules/peer-host/peer-host-store.js +65 -3
  528. package/data/build/dist/host/modules/peer-host/peer-host-store.js.map +1 -0
  529. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts +49 -0
  530. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts.map +1 -0
  531. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js +174 -0
  532. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js.map +1 -0
  533. package/data/build/dist/host/modules/peer-host/peer-host-ws-gateway.d.ts.map +1 -0
  534. package/data/build/dist/host/modules/peer-host/peer-host-ws-gateway.js.map +1 -0
  535. package/data/build/dist/host/modules/pwa/index.d.ts +7 -0
  536. package/data/build/dist/host/modules/pwa/index.d.ts.map +1 -0
  537. package/data/build/dist/host/modules/pwa/index.js +7 -0
  538. package/data/build/dist/host/modules/pwa/index.js.map +1 -0
  539. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +48 -0
  540. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -0
  541. package/data/build/dist/host/modules/pwa/pwa-assets.js +180 -0
  542. package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -0
  543. package/data/build/dist/host/modules/pwa/pwa-client-script.d.ts +10 -0
  544. package/data/build/dist/host/modules/pwa/pwa-client-script.d.ts.map +1 -0
  545. package/data/build/dist/host/modules/pwa/pwa-client-script.js +38 -0
  546. package/data/build/dist/host/modules/pwa/pwa-client-script.js.map +1 -0
  547. package/data/build/dist/host/modules/pwa/pwa-icons.d.ts +10 -0
  548. package/data/build/dist/host/modules/pwa/pwa-icons.d.ts.map +1 -0
  549. package/data/build/dist/host/modules/pwa/pwa-icons.js +185 -0
  550. package/data/build/dist/host/modules/pwa/pwa-icons.js.map +1 -0
  551. package/data/build/dist/host/modules/pwa/pwa-push.d.ts +74 -0
  552. package/data/build/dist/host/modules/pwa/pwa-push.d.ts.map +1 -0
  553. package/data/build/dist/host/modules/pwa/pwa-push.js +288 -0
  554. package/data/build/dist/host/modules/pwa/pwa-push.js.map +1 -0
  555. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +14 -0
  556. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -0
  557. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +80 -0
  558. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -0
  559. package/data/build/dist/host/modules/pwa/pwa-viewport.d.ts +12 -0
  560. package/data/build/dist/host/modules/pwa/pwa-viewport.d.ts.map +1 -0
  561. package/data/build/dist/host/modules/pwa/pwa-viewport.js +47 -0
  562. package/data/build/dist/host/modules/pwa/pwa-viewport.js.map +1 -0
  563. package/data/build/dist/host/native-session-bridge.d.ts +4 -0
  564. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -0
  565. package/data/build/dist/host/native-session-bridge.js +67 -12
  566. package/data/build/dist/host/native-session-bridge.js.map +1 -0
  567. package/data/build/dist/host/relay-tunnel-runtime.d.ts +33 -0
  568. package/data/build/dist/host/relay-tunnel-runtime.d.ts.map +1 -0
  569. package/data/build/dist/host/relay-tunnel-runtime.js +81 -20
  570. package/data/build/dist/host/relay-tunnel-runtime.js.map +1 -0
  571. package/data/build/dist/host/remote-web-runtime.d.ts.map +1 -0
  572. package/data/build/dist/host/remote-web-runtime.js +40 -17
  573. package/data/build/dist/host/remote-web-runtime.js.map +1 -0
  574. package/data/build/dist/host/rpc-table.d.ts.map +1 -0
  575. package/data/build/dist/host/rpc-table.js.map +1 -0
  576. package/data/build/dist/host/rpc.d.ts +24 -5
  577. package/data/build/dist/host/rpc.d.ts.map +1 -0
  578. package/data/build/dist/host/rpc.js +54 -13
  579. package/data/build/dist/host/rpc.js.map +1 -0
  580. package/data/build/dist/host/session-changes.d.ts.map +1 -0
  581. package/data/build/dist/host/session-changes.js.map +1 -0
  582. package/data/build/dist/host/session-migration-repair.d.ts.map +1 -0
  583. package/data/build/dist/host/session-migration-repair.js +14 -0
  584. package/data/build/dist/host/session-migration-repair.js.map +1 -0
  585. package/data/build/dist/host/settings.d.ts +2 -2
  586. package/data/build/dist/host/settings.d.ts.map +1 -0
  587. package/data/build/dist/host/settings.js +40 -1
  588. package/data/build/dist/host/settings.js.map +1 -0
  589. package/data/build/dist/host/terminal/attachment-registry.d.ts.map +1 -0
  590. package/data/build/dist/host/terminal/attachment-registry.js.map +1 -0
  591. package/data/build/dist/host/terminal/backends/conpty-backend.d.ts.map +1 -0
  592. package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -0
  593. package/data/build/dist/host/terminal/backends/local-pty-backend.d.ts.map +1 -0
  594. package/data/build/dist/host/terminal/backends/local-pty-backend.js.map +1 -0
  595. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -0
  596. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -0
  597. package/data/build/dist/host/terminal/broker/conpty-broker-client.d.ts.map +1 -0
  598. package/data/build/dist/host/terminal/broker/conpty-broker-client.js.map +1 -0
  599. package/data/build/dist/host/terminal/broker/conpty-broker-process.d.ts.map +1 -0
  600. package/data/build/dist/host/terminal/broker/conpty-broker-process.js.map +1 -0
  601. package/data/build/dist/host/terminal/broker/conpty-broker-protocol.d.ts.map +1 -0
  602. package/data/build/dist/host/terminal/broker/conpty-broker-protocol.js.map +1 -0
  603. package/data/build/dist/host/terminal/controller-factory.d.ts.map +1 -0
  604. package/data/build/dist/host/terminal/controller-factory.js.map +1 -0
  605. package/data/build/dist/host/terminal/index.d.ts.map +1 -0
  606. package/data/build/dist/host/terminal/index.js.map +1 -0
  607. package/data/build/dist/host/terminal/runtime-adapter.d.ts.map +1 -0
  608. package/data/build/dist/host/terminal/runtime-adapter.js.map +1 -0
  609. package/data/build/dist/host/terminal/runtime-manager.d.ts.map +1 -0
  610. package/data/build/dist/host/terminal/runtime-manager.js.map +1 -0
  611. package/data/build/dist/host/terminal/shell-detection.d.ts.map +1 -0
  612. package/data/build/dist/host/terminal/shell-detection.js.map +1 -0
  613. package/data/build/dist/host/terminal/startup.d.ts +2 -2
  614. package/data/build/dist/host/terminal/startup.d.ts.map +1 -0
  615. package/data/build/dist/host/terminal/startup.js.map +1 -0
  616. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -0
  617. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -0
  618. package/data/build/dist/host/terminal/terminal-process-service.d.ts.map +1 -0
  619. package/data/build/dist/host/terminal/terminal-process-service.js.map +1 -0
  620. package/data/build/dist/host/terminal/terminal-process-store.d.ts.map +1 -0
  621. package/data/build/dist/host/terminal/terminal-process-store.js.map +1 -0
  622. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -0
  623. package/data/build/dist/host/terminal/terminal-service.js.map +1 -0
  624. package/data/build/dist/host/terminal/terminal-store.d.ts.map +1 -0
  625. package/data/build/dist/host/terminal/terminal-store.js.map +1 -0
  626. package/data/build/dist/index.d.ts +2 -2
  627. package/data/build/dist/index.d.ts.map +1 -0
  628. package/data/build/dist/index.js +2 -2
  629. package/data/build/dist/index.js.map +1 -0
  630. package/data/build/dist/shared/contracts/auth.d.ts.map +1 -0
  631. package/data/build/dist/shared/contracts/auth.js.map +1 -0
  632. package/data/build/dist/shared/contracts/cli-adapter.d.ts +52 -1
  633. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -0
  634. package/data/build/dist/shared/contracts/cli-adapter.js.map +1 -0
  635. package/data/build/dist/shared/contracts/command-code.d.ts.map +1 -0
  636. package/data/build/dist/shared/contracts/command-code.js.map +1 -0
  637. package/data/build/dist/shared/contracts/config.d.ts +100 -0
  638. package/data/build/dist/shared/contracts/config.d.ts.map +1 -0
  639. package/data/build/dist/shared/contracts/config.js +101 -0
  640. package/data/build/dist/shared/contracts/config.js.map +1 -0
  641. package/data/build/dist/shared/contracts/debug-config.d.ts.map +1 -0
  642. package/data/build/dist/shared/contracts/debug-config.js.map +1 -0
  643. package/data/build/dist/shared/contracts/debug.d.ts.map +1 -0
  644. package/data/build/dist/shared/contracts/debug.js.map +1 -0
  645. package/data/build/dist/shared/contracts/dsh-device.d.ts.map +1 -0
  646. package/data/build/dist/shared/contracts/dsh-device.js.map +1 -0
  647. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  648. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -0
  649. package/data/build/dist/shared/contracts/errors.js.map +1 -0
  650. package/data/build/dist/shared/contracts/feature.d.ts.map +1 -0
  651. package/data/build/dist/shared/contracts/feature.js.map +1 -0
  652. package/data/build/dist/shared/contracts/file-management.d.ts.map +1 -0
  653. package/data/build/dist/shared/contracts/file-management.js.map +1 -0
  654. package/data/build/dist/shared/contracts/git.d.ts +15 -1
  655. package/data/build/dist/shared/contracts/git.d.ts.map +1 -0
  656. package/data/build/dist/shared/contracts/git.js.map +1 -0
  657. package/data/build/dist/shared/contracts/host-status.d.ts.map +1 -0
  658. package/data/build/dist/shared/contracts/host-status.js.map +1 -0
  659. package/data/build/dist/shared/contracts/lan-access-dsh.d.ts +23 -0
  660. package/data/build/dist/shared/contracts/lan-access-dsh.d.ts.map +1 -0
  661. package/data/build/dist/shared/contracts/lan-access-dsh.js.map +1 -0
  662. package/data/build/dist/shared/contracts/peer-host.d.ts +158 -1
  663. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -0
  664. package/data/build/dist/shared/contracts/peer-host.js +73 -0
  665. package/data/build/dist/shared/contracts/peer-host.js.map +1 -0
  666. package/data/build/dist/shared/contracts/signaling.d.ts.map +1 -0
  667. package/data/build/dist/shared/contracts/signaling.js.map +1 -0
  668. package/data/build/dist/shared/contracts/subscription.d.ts +7 -0
  669. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -0
  670. package/data/build/dist/shared/contracts/subscription.js +14 -1
  671. package/data/build/dist/shared/contracts/subscription.js.map +1 -0
  672. package/data/build/dist/shared/contracts/terminal-process.d.ts.map +1 -0
  673. package/data/build/dist/shared/contracts/terminal-process.js.map +1 -0
  674. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -0
  675. package/data/build/dist/shared/contracts/terminal.js.map +1 -0
  676. package/data/build/dist/shared/contracts/transport.d.ts.map +1 -0
  677. package/data/build/dist/shared/contracts/transport.js.map +1 -0
  678. package/data/build/dist/shared/contracts/version.d.ts +14 -6
  679. package/data/build/dist/shared/contracts/version.d.ts.map +1 -0
  680. package/data/build/dist/shared/contracts/version.js +23 -8
  681. package/data/build/dist/shared/contracts/version.js.map +1 -0
  682. package/data/build/dist/shared/debug.d.ts.map +1 -0
  683. package/data/build/dist/shared/debug.js.map +1 -0
  684. package/data/build/dist/shared/index.d.ts +6 -5
  685. package/data/build/dist/shared/index.d.ts.map +1 -0
  686. package/data/build/dist/shared/index.js +4 -3
  687. package/data/build/dist/shared/index.js.map +1 -0
  688. package/data/build/dist/transport/carrier.d.ts +11 -1
  689. package/data/build/dist/transport/carrier.d.ts.map +1 -0
  690. package/data/build/dist/transport/carrier.js +77 -26
  691. package/data/build/dist/transport/carrier.js.map +1 -0
  692. package/data/build/dist/transport/debug.d.ts +5 -0
  693. package/data/build/dist/transport/debug.d.ts.map +1 -0
  694. package/data/build/dist/transport/debug.js +19 -2
  695. package/data/build/dist/transport/debug.js.map +1 -0
  696. package/data/build/dist/transport/dsh-envelope.d.ts.map +1 -0
  697. package/data/build/dist/transport/dsh-envelope.js.map +1 -0
  698. package/data/build/dist/transport/dsh-gateway.d.ts.map +1 -0
  699. package/data/build/dist/transport/dsh-gateway.js.map +1 -0
  700. package/data/build/dist/transport/dsh-session.d.ts +18 -1
  701. package/data/build/dist/transport/dsh-session.d.ts.map +1 -0
  702. package/data/build/dist/transport/dsh-session.js +48 -13
  703. package/data/build/dist/transport/dsh-session.js.map +1 -0
  704. package/data/build/dist/transport/dsh-transport.d.ts.map +1 -0
  705. package/data/build/dist/transport/dsh-transport.js.map +1 -0
  706. package/data/build/dist/transport/frame.d.ts.map +1 -0
  707. package/data/build/dist/transport/frame.js.map +1 -0
  708. package/data/build/dist/transport/index.d.ts +2 -2
  709. package/data/build/dist/transport/index.d.ts.map +1 -0
  710. package/data/build/dist/transport/index.js +2 -2
  711. package/data/build/dist/transport/index.js.map +1 -0
  712. package/data/build/dist/transport/multiplexer.d.ts.map +1 -0
  713. package/data/build/dist/transport/multiplexer.js.map +1 -0
  714. package/data/build/dist/transport/webrtc-client.d.ts +8 -0
  715. package/data/build/dist/transport/webrtc-client.d.ts.map +1 -0
  716. package/data/build/dist/transport/webrtc-client.js +135 -9
  717. package/data/build/dist/transport/webrtc-client.js.map +1 -0
  718. package/data/build/dist/transport/webrtc-host.d.ts.map +1 -0
  719. package/data/build/dist/transport/webrtc-host.js +5 -1
  720. package/data/build/dist/transport/webrtc-host.js.map +1 -0
  721. package/data/build/dist/typert.host.d.ts.map +1 -0
  722. package/data/build/dist/typert.host.js.map +1 -0
  723. package/data/build/dist/typert.remote-client.d.ts.map +1 -0
  724. package/data/build/dist/typert.remote-client.js.map +1 -0
  725. package/package.json +39 -20
  726. package/profile/README.md +18 -5
  727. package/profile/package.json +4 -3
  728. package/profile/scripts/check-dsh-install.mjs +100 -9
  729. package/profile/version.json +3 -3
  730. package/scripts/check-dsh-install.mjs +98 -17
  731. package/version.json +3 -3
  732. package/data/build/dist/client/host-navigation.d.ts +0 -29
  733. package/data/build/dist/client/host-navigation.js +0 -29
  734. package/data/build/dist/client/peer-host-native-session-ui.d.ts +0 -60
  735. package/data/build/dist/client/peer-host-native-session-ui.js +0 -372
@@ -1,13 +1,16 @@
1
1
  import { CODINGNS_RPC_CHANNEL } from '../shared/contracts/transport.js';
2
2
  import { LOGIN_PROTECTION_SESSION_EVENT, readLoginProtectionSession, readLoginProtectionSessionExpiresAt, writeLoginProtectionSession } from './features/login-protection-session.js';
3
3
  import { dshThemeColor } from './theme.js';
4
- const SETTINGS_BUTTON_SELECTOR = 'button[aria-label="设置"]';
4
+ import { attachOutsideDismissal } from './popup-dismiss.js';
5
+ import { PEER_HOST_OPEN_EVENT } from './peer-host-connection-button.js';
6
+ import { resolveSettingsAnchor, settingsAnchorContainer } from './settings-anchor.js';
7
+ import { readDshPeerHostPrebootShimState } from '../bootstrap/dsh-peer-host-preboot-shim.js';
5
8
  const ACCOUNT_ATTRIBUTE = 'data-codingns-account-button';
6
9
  const MENU_ATTRIBUTE = 'data-codingns-account-menu';
7
10
  const POLL_MS = 5_000;
8
11
  const LOGIN_REFRESH_POLL_MS = 30_000;
9
12
  /** 在 DSH 设置触发器旁挂载统一账户入口,兼容侧栏横排与收起竖排。 */
10
- export function startCodingNsAccountBar(rpc, dom, _settings) {
13
+ export function startCodingNsAccountBar(rpc, dom, settingsStore) {
11
14
  const currentDocument = dom ?? (typeof document === 'undefined' ? undefined : document);
12
15
  if (currentDocument === undefined)
13
16
  return { dispose() { } };
@@ -21,7 +24,7 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
21
24
  let resizeObserver;
22
25
  let renderQueued = false;
23
26
  let rendering = false;
24
- let closeMenuListener;
27
+ let closeMenuDismiss;
25
28
  let auth = loggedOutSnapshot();
26
29
  let local = null;
27
30
  let localSessionExpiresAt = null;
@@ -79,58 +82,89 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
79
82
  observeDom = true;
80
83
  return;
81
84
  }
82
- const settings = root.querySelector(SETTINGS_BUTTON_SELECTOR);
83
- if (settings === null) {
85
+ // 齿轮按钮是 `settings.launcher` 槽位内的 fallback;Desktop 下该槽位被 DSH
86
+ // 账户菜单占位,齿轮不渲染,锚点直接落在槽位出口节点上。
87
+ const match = resolveSettingsAnchor((selector) => root.querySelector(selector));
88
+ if (match === null) {
84
89
  observeDom = true;
85
90
  return;
86
91
  }
87
- const parent = settings.parentElement;
88
- if (parent === null) {
92
+ // 两种锚点最终都落在同一个「槽位出口」容器里(详见 settings-anchor 模块)。
93
+ const container = settingsAnchorContainer(match);
94
+ if (container === null) {
89
95
  observeDom = true;
90
96
  return;
91
97
  }
92
- let button = parent.querySelector(`button[${ACCOUNT_ATTRIBUTE}]`);
98
+ let button = container.querySelector(`button[${ACCOUNT_ATTRIBUTE}]`);
93
99
  if (button === null) {
94
- button = createAccountButton(root);
95
- parent.insertBefore(button, settings);
100
+ button = createAccountButton(root, isDesktopPage());
96
101
  button.addEventListener('click', (event) => {
97
102
  event.preventDefault();
98
103
  event.stopPropagation();
99
104
  toggleMenu(button);
100
105
  });
101
106
  }
107
+ // `settings.launcher` 出口是 display: contents,子节点会直接参与宿主
108
+ // triggerRow 的 flex 布局。把插件入口放在原生账户组件之后,才能和账户登录
109
+ // 组件保持同一行,并让连接管理入口自然落到最右侧。
110
+ if (match.kind === 'launcher-slot')
111
+ container.append(button);
112
+ else if (button.parentElement !== container)
113
+ container.insertBefore(button, container.firstChild);
102
114
  observeDom = false;
103
115
  observer?.disconnect();
104
- parent.dataset.codingnsAccountRow = 'true';
105
- Object.assign(parent.style, {
106
- display: 'flex',
107
- alignItems: 'center',
108
- gap: '4px',
109
- width: '100%',
110
- boxSizing: 'border-box',
111
- });
112
- updateAccountLayout(parent, settings, button);
116
+ container.dataset.codingnsAccountRow = 'true';
117
+ updateAccountLayout(container, match.node, button, match.kind);
113
118
  resizeObserver?.disconnect();
114
119
  if (typeof ResizeObserver !== 'undefined') {
120
+ // 观察真正参与布局的那一层:槽位出口是 `display: contents`,自身没有尺寸,
121
+ // 观察它拿不到宽度变化。
122
+ const observed = match.kind === 'launcher-slot' ? container.parentElement ?? container : container;
115
123
  resizeObserver ??= new ResizeObserver(() => {
116
124
  if (!disposed)
117
- updateAccountLayout(parent, settings, button);
125
+ updateAccountLayout(container, match.node, button, match.kind);
118
126
  });
119
- resizeObserver.observe(parent);
127
+ resizeObserver.observe(observed);
120
128
  }
121
129
  renderButton(button);
122
130
  };
123
- const updateAccountLayout = (parent, settings, button) => {
124
- const wide = isWide(parent, settings);
131
+ const updateAccountLayout = (container, anchor, button, kind) => {
132
+ // Desktop:容器是 `display: contents` 的槽位出口,自身不产生盒,真正的一行是
133
+ // DSH 的 `triggerRow`(里面是 DSH 自己的账户菜单)。宿主自己负责宽窄态,
134
+ // 插件只保证入口追加到末尾并保持一行,避免原生账户组件被换到下一行。
135
+ if (kind === 'launcher-slot') {
136
+ const row = container.parentElement;
137
+ if (row === null)
138
+ return;
139
+ // Desktop 的宿主 triggerRow 已经负责宽窄态布局。插件不能给它加
140
+ // wrap/居中规则,否则 36px 收起态会把原生账户组件和入口拆成两行。
141
+ const mode = 'desktop';
142
+ if (button.dataset.codingnsWide === mode)
143
+ return;
144
+ button.dataset.codingnsWide = mode;
145
+ row.style.flexWrap = 'nowrap';
146
+ button.style.order = '2';
147
+ button.style.marginLeft = 'auto';
148
+ return;
149
+ }
150
+ // Web:出口内部是 fallback 齿轮,出口自身没有布局,由插件补全成一行。
151
+ const wide = isWide(container, anchor);
125
152
  const mode = wide ? 'wide' : 'rail';
126
153
  if (button.dataset.codingnsWide === mode)
127
154
  return;
128
155
  button.dataset.codingnsWide = mode;
129
- parent.style.flexDirection = wide ? 'row' : 'column';
130
- parent.style.justifyContent = 'flex-end';
156
+ Object.assign(container.style, {
157
+ display: 'flex',
158
+ alignItems: 'center',
159
+ gap: '4px',
160
+ width: '100%',
161
+ boxSizing: 'border-box',
162
+ });
163
+ container.style.flexDirection = wide ? 'row' : 'column';
164
+ container.style.justifyContent = 'flex-end';
131
165
  button.style.marginLeft = wide ? 'auto' : '0';
132
166
  button.style.order = wide ? '2' : '1';
133
- settings.style.order = wide ? '1' : '2';
167
+ anchor.style.order = wide ? '1' : '2';
134
168
  };
135
169
  const renderAll = () => {
136
170
  if (disposed || rendering)
@@ -152,9 +186,9 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
152
186
  const observerCallback = () => {
153
187
  if (disposed || rendering || renderQueued)
154
188
  return;
155
- const settings = root.querySelector(SETTINGS_BUTTON_SELECTOR);
189
+ const match = resolveSettingsAnchor((selector) => root.querySelector(selector));
156
190
  const button = root.querySelector(`button[${ACCOUNT_ATTRIBUTE}]`);
157
- if (settings !== null && button !== null && settings.parentElement === button.parentElement)
191
+ if (match !== null && button !== null && settingsAnchorContainer(match) === button.parentElement)
158
192
  return;
159
193
  renderQueued = true;
160
194
  queueMicrotask(() => {
@@ -164,6 +198,8 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
164
198
  };
165
199
  observer = typeof MutationObserver === 'undefined' ? undefined : new MutationObserver(observerCallback);
166
200
  observer?.observe(root.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-expanded'] });
201
+ // PeerHost 开关变化会改变账户入口是否存在,因此必须和设置存储订阅同一轮重绘。
202
+ const unsubscribeSettings = settingsStore?.subscribe(() => renderAll());
167
203
  const onLoginProtectionSessionChanged = () => {
168
204
  localRelay = readRelayLoginIdentity();
169
205
  renderAll();
@@ -183,12 +219,9 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
183
219
  clearInterval(loginRefreshTimer);
184
220
  observer?.disconnect();
185
221
  resizeObserver?.disconnect();
222
+ unsubscribeSettings?.();
186
223
  root.defaultView?.removeEventListener(LOGIN_PROTECTION_SESSION_EVENT, onLoginProtectionSessionChanged);
187
- if (closeMenuListener !== undefined) {
188
- root.removeEventListener('click', closeMenuListener, true);
189
- closeMenuListener = undefined;
190
- }
191
- root.querySelectorAll(`[${MENU_ATTRIBUTE}]`).forEach((node) => node.remove());
224
+ closeMenu();
192
225
  root.querySelectorAll(`button[${ACCOUNT_ATTRIBUTE}]`).forEach((node) => node.remove());
193
226
  },
194
227
  };
@@ -233,18 +266,15 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
233
266
  }
234
267
  }
235
268
  function removeAccountBar() {
236
- if (closeMenuListener !== undefined) {
237
- root.removeEventListener('click', closeMenuListener, true);
238
- closeMenuListener = undefined;
239
- }
240
- root.querySelectorAll(`[${MENU_ATTRIBUTE}]`).forEach((node) => node.remove());
269
+ closeMenu();
241
270
  root.querySelectorAll(`button[${ACCOUNT_ATTRIBUTE}]`).forEach((node) => node.remove());
242
271
  }
243
272
  function renderButton(button) {
244
273
  const account = activeAccount();
245
274
  const identity = account?.identity ?? '用户';
246
- button.title = `${identity} · 点击管理登录`;
247
- button.setAttribute('aria-label', `用户:${identity}`);
275
+ const desktop = isDesktopPage();
276
+ button.title = desktop ? '连接管理 · 管理其他 DSH Host' : `${identity} · 点击管理登录`;
277
+ button.setAttribute('aria-label', desktop ? '连接管理' : `用户:${identity}`);
248
278
  button.dataset.codingnsAuth = account?.kind ?? 'unknown';
249
279
  const statusDot = button.querySelector('[data-codingns-account-status]');
250
280
  if (statusDot !== null)
@@ -252,7 +282,7 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
252
282
  }
253
283
  function activeAccount() {
254
284
  const remote = isRemoteContext();
255
- if (isLoopbackPage() && !remote)
285
+ if (isLoopbackPage() && !remote && !peerHostModuleEnabled())
256
286
  return null;
257
287
  if (local !== null)
258
288
  return { kind: 'local', identity: local.username, scope: 'lan' };
@@ -266,20 +296,39 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
266
296
  return null;
267
297
  }
268
298
  function isAccountAuthenticated() {
269
- return activeAccount() !== null;
299
+ return activeAccount() !== null || shouldShowPeerHostEntry();
300
+ }
301
+ function shouldShowPeerHostEntry() {
302
+ // 入口可见性与 PeerHost 的能力状态一致:Transport 结构不支持(external)
303
+ // 或 preboot shim 没装(not-installed)时,模块会被禁用,入口不再出现。
304
+ if (!isPeerHostTransportWrappable())
305
+ return false;
306
+ return peerHostModuleEnabled() && (isLoopbackPage() || isDesktopPage());
307
+ }
308
+ function isPeerHostTransportWrappable() {
309
+ const state = readDshPeerHostPrebootShimState();
310
+ return state !== 'not-installed' && state !== 'external';
311
+ }
312
+ function peerHostModuleEnabled() {
313
+ return settingsStore?.getSnapshot().value?.modules.peerHost === true;
270
314
  }
271
315
  function isLoopbackPage() {
272
316
  const hostname = root.defaultView?.location.hostname.toLowerCase().replace(/\.$/u, '').replace(/^\[|\]$/gu, '') ?? '';
273
317
  return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1' || hostname === '::ffff:127.0.0.1';
274
318
  }
319
+ function isDesktopPage() {
320
+ return root.defaultView?.location.protocol.toLowerCase() === 'dsh-app:';
321
+ }
322
+ /** 关闭账户菜单并注销外部点击监听;菜单与监听始终成对回收。 */
323
+ function closeMenu() {
324
+ root.querySelectorAll(`[${MENU_ATTRIBUTE}]`).forEach((node) => node.remove());
325
+ closeMenuDismiss?.();
326
+ closeMenuDismiss = undefined;
327
+ }
275
328
  function toggleMenu(button) {
276
329
  const existing = root.querySelector(`[${MENU_ATTRIBUTE}]`);
277
330
  if (existing !== null) {
278
- existing.remove();
279
- if (closeMenuListener !== undefined) {
280
- root.removeEventListener('click', closeMenuListener, true);
281
- closeMenuListener = undefined;
282
- }
331
+ closeMenu();
283
332
  return;
284
333
  }
285
334
  const menu = createMenu(root);
@@ -288,16 +337,9 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
288
337
  root.body.appendChild(menu);
289
338
  renderMenu(menu);
290
339
  positionMenuUpperRight(menu, button);
291
- const close = (event) => {
292
- if (!menu.contains(event.target) && event.target !== button) {
293
- menu.remove();
294
- root.removeEventListener('click', close, true);
295
- if (closeMenuListener === close)
296
- closeMenuListener = undefined;
297
- }
298
- };
299
- closeMenuListener = close;
300
- queueMicrotask(() => root.addEventListener('click', close, true));
340
+ // 触发按钮算内部:它自己的 click 负责开合,pointerdown 不重复关闭。
341
+ // 菜单创建发生在 pointerdown 之后,因此不需要再延迟注册。
342
+ closeMenuDismiss = attachOutsideDismissal(root, () => [menu, button], closeMenu);
301
343
  }
302
344
  function positionMenuUpperRight(menu, button) {
303
345
  const buttonRect = button.getBoundingClientRect();
@@ -331,13 +373,25 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
331
373
  menu.append(resourceRow(root, '内存', status.memoryPercent));
332
374
  menu.append(textNode(root, `${formatBytes(status.memoryUsedBytes)} / ${formatBytes(status.memoryTotalBytes)}`, 'span'));
333
375
  }
334
- const logout = root.createElement('button');
335
- logout.type = 'button';
336
- logout.textContent = busy ? '注销中…' : '注销登录';
337
- logout.disabled = busy;
338
- Object.assign(logout.style, menuButtonStyle());
339
- logout.addEventListener('click', () => { void logoutCurrent(menu); });
340
- menu.append(logout);
376
+ const peerHost = root.createElement('button');
377
+ peerHost.type = 'button';
378
+ peerHost.textContent = '管理 PeerHost';
379
+ peerHost.title = '连接和管理其他 DSH Host';
380
+ Object.assign(peerHost.style, menuButtonStyle());
381
+ peerHost.addEventListener('click', () => {
382
+ root.defaultView?.dispatchEvent(new Event(PEER_HOST_OPEN_EVENT));
383
+ closeMenu();
384
+ });
385
+ menu.append(peerHost);
386
+ if (account !== null) {
387
+ const logout = root.createElement('button');
388
+ logout.type = 'button';
389
+ logout.textContent = busy ? '注销中…' : '注销登录';
390
+ logout.disabled = busy;
391
+ Object.assign(logout.style, menuButtonStyle());
392
+ logout.addEventListener('click', () => { void logoutCurrent(menu); });
393
+ menu.append(logout);
394
+ }
341
395
  }
342
396
  async function logoutCurrent(menu) {
343
397
  busy = true;
@@ -368,7 +422,7 @@ export function startCodingNsAccountBar(rpc, dom, _settings) {
368
422
  }
369
423
  }
370
424
  }
371
- async function fetchLocalIdentity(dom) {
425
+ export async function fetchLocalIdentity(dom) {
372
426
  // Desktop 使用 dsh-app://app,不提供网页侧的本地身份路由。
373
427
  // 只有局域网/中转 HTTP 页面才需要查询这个端点;其它协议直接视为未登录,
374
428
  // 避免在 Desktop 控制台制造无意义的 404。
@@ -387,7 +441,7 @@ async function fetchLocalIdentity(dom) {
387
441
  ? { username: value.username, ...(typeof value.expiresAt === 'number' ? { expiresAt: value.expiresAt } : {}) }
388
442
  : null;
389
443
  }
390
- function readRelayLoginIdentity() {
444
+ export function readRelayLoginIdentity() {
391
445
  const token = readLoginProtectionSession();
392
446
  if (token === undefined)
393
447
  return null;
@@ -407,7 +461,7 @@ function readRelayLoginIdentity() {
407
461
  return null;
408
462
  }
409
463
  }
410
- function createAccountButton(dom) {
464
+ function createAccountButton(dom, desktop) {
411
465
  const button = dom.createElement('button');
412
466
  button.type = 'button';
413
467
  button.setAttribute(ACCOUNT_ATTRIBUTE, '');
@@ -424,14 +478,42 @@ function createAccountButton(dom) {
424
478
  });
425
479
  button.addEventListener('focus', () => { button.style.outline = '2px solid var(--dsw-alias-brand-primary, #4aa3ff)'; button.style.outlineOffset = '2px'; });
426
480
  button.addEventListener('blur', () => { button.style.outline = 'none'; });
427
- button.append(createAccountIcon(dom));
481
+ button.append(desktop ? createConnectionIcon(dom) : createAccountIcon(dom));
428
482
  const status = dom.createElement('span');
429
483
  status.setAttribute('data-codingns-account-status', '');
430
484
  status.setAttribute('aria-hidden', 'true');
431
- Object.assign(status.style, { position: 'absolute', right: '0px', bottom: '0px', width: '7px', height: '7px', border: '2px solid var(--dsw-specific-sidebar-fill, var(--dsw-alias-bg-primary, #202124))', borderRadius: '50%', background: 'var(--dsw-alias-label-tertiary, #8b8d91)', boxSizing: 'border-box' });
485
+ Object.assign(status.style, { position: 'absolute', right: '0px', bottom: '0px', width: '7px', height: '7px', border: '2px solid var(--dsw-specific-sidebar-fill, var(--dsw-alias-bg-primary, #202124))', borderRadius: '50%', background: 'var(--dsw-alias-label-tertiary, #8b8d91)', boxSizing: 'border-box', display: desktop ? 'none' : '' });
432
486
  button.append(status);
433
487
  return button;
434
488
  }
489
+ /** Desktop 入口表示跨 Host 连接管理,不再复用用户登录头像。 */
490
+ function createConnectionIcon(dom) {
491
+ const svg = dom.createElementNS('http://www.w3.org/2000/svg', 'svg');
492
+ svg.setAttribute('width', '17');
493
+ svg.setAttribute('height', '17');
494
+ svg.setAttribute('viewBox', '0 0 24 24');
495
+ svg.setAttribute('fill', 'none');
496
+ svg.setAttribute('aria-hidden', 'true');
497
+ svg.style.pointerEvents = 'none';
498
+ svg.style.overflow = 'visible';
499
+ const left = dom.createElementNS('http://www.w3.org/2000/svg', 'path');
500
+ left.setAttribute('d', 'M10 13.8 8.4 15.4a3.4 3.4 0 1 1-4.8-4.8l2.5-2.5a3.4 3.4 0 0 1 4.8 0');
501
+ left.setAttribute('stroke', 'currentColor');
502
+ left.setAttribute('stroke-width', '1.8');
503
+ left.setAttribute('stroke-linecap', 'round');
504
+ const right = dom.createElementNS('http://www.w3.org/2000/svg', 'path');
505
+ right.setAttribute('d', 'M14 10.2 15.6 8.6a3.4 3.4 0 1 1 4.8 4.8l-2.5 2.5a3.4 3.4 0 0 1-4.8 0');
506
+ right.setAttribute('stroke', 'currentColor');
507
+ right.setAttribute('stroke-width', '1.8');
508
+ right.setAttribute('stroke-linecap', 'round');
509
+ const bridge = dom.createElementNS('http://www.w3.org/2000/svg', 'path');
510
+ bridge.setAttribute('d', 'm8.5 15.5 7-7');
511
+ bridge.setAttribute('stroke', 'var(--dsw-alias-brand-primary, #4aa3ff)');
512
+ bridge.setAttribute('stroke-width', '1.8');
513
+ bridge.setAttribute('stroke-linecap', 'round');
514
+ svg.append(left, right, bridge);
515
+ return svg;
516
+ }
435
517
  function createAccountIcon(dom) {
436
518
  const svg = dom.createElementNS('http://www.w3.org/2000/svg', 'svg');
437
519
  svg.setAttribute('width', '17');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-bar.js","sourceRoot":"","sources":["../../../../src/client/account-bar.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAGvE,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAA;AACrL,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAA2B,MAAM,sBAAsB,CAAA;AAC9G,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAA;AAE5F,MAAM,iBAAiB,GAAG,8BAA8B,CAAA;AACxD,MAAM,cAAc,GAAG,4BAA4B,CAAA;AACnD,MAAM,OAAO,GAAG,KAAK,CAAA;AACrB,MAAM,qBAAqB,GAAG,MAAM,CAAA;AASpC,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CAAC,GAAsB,EAAE,GAAc,EAAE,aAAuD;IACrI,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACvF,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,KAAI,CAAC,EAAE,CAAA;IAC1D,MAAM,IAAI,GAAG,eAAe,CAAA;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,KAAiD,CAAA;IACrD,IAAI,iBAA6D,CAAA;IACjE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,IAAI,QAAsC,CAAA;IAC1C,IAAI,UAAU,GAAG,IAAI,CAAA;IACrB,IAAI,cAA0C,CAAA;IAC9C,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,gBAA0C,CAAA;IAC9C,IAAI,IAAI,GAAgC,iBAAiB,EAAE,CAAA;IAC3D,IAAI,KAAK,GAAyB,IAAI,CAAA;IACtC,IAAI,qBAAqB,GAAkB,IAAI,CAAA;IAC/C,IAAI,UAAU,GAAyB,sBAAsB,EAAE,CAAA;IAC/D,IAAI,MAAiC,CAAA;IACrC,IAAI,OAA2B,CAAA;IAC/B,IAAI,IAAI,GAAG,KAAK,CAAA;IAEhB,MAAM,IAAI,GAAG,KAAK,EAAK,QAAgB,EAAE,OAAgB,EAAc,EAAE;QACvE,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,KAAK,CAAA;YACrD,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzD,OAAO,QAAQ,CAAC,KAAU,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,IAAI,QAAQ;YAAE,OAAM;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACjE,IAAI,CAA8B,eAAe,EAAE,EAAE,CAAC;YACtD,kBAAkB,CAAC,IAAI,CAAC;YACxB,IAAI,CAAgB,aAAa,EAAE,EAAE,CAAC;SACvC,CAAC,CAAA;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW;YAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC1D,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACjE,qBAAqB,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAA;QAChD,UAAU,GAAG,sBAAsB,EAAE,CAAA;QACrC,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;YACzB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,SAAS,EAAE,CAAA;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAc,IAAI,cAAc,GAAG,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAoB,UAAU,iBAAiB,GAAG,CAAC,CAAA;QACpF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,IAAI,MAAM,KAAK,IAAI;gBAAE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,QAAQ;YAAE,OAAM;QACpB,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC9B,gBAAgB,EAAE,CAAA;YAClB,UAAU,GAAG,IAAI,CAAA;YACjB,OAAM;QACR,CAAC;QACD,4DAA4D;QAC5D,8BAA8B;QAC9B,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAc,QAAQ,CAAC,CAAC,CAAA;QAC5F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,GAAG,IAAI,CAAA;YACjB,OAAM;QACR,CAAC;QACD,gDAAgD;QAChD,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,CAAA;YACjB,OAAM;QACR,CAAC;QACD,IAAI,MAAM,GAAG,SAAS,CAAC,aAAa,CAAoB,UAAU,iBAAiB,GAAG,CAAC,CAAA;QACvF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;YACnD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzC,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,KAAK,CAAC,eAAe,EAAE,CAAA;gBACvB,UAAU,CAAC,MAAO,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,uDAAuD;QACvD,+CAA+C;QAC/C,2BAA2B;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;aACvD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;QACjG,UAAU,GAAG,KAAK,CAAA;QAClB,QAAQ,EAAE,UAAU,EAAE,CAAA;QACtB,SAAS,CAAC,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAA;QAC7C,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9D,cAAc,EAAE,UAAU,EAAE,CAAA;QAC5B,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YAC1C,iDAAiD;YACjD,cAAc;YACd,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;YAClG,cAAc,KAAK,IAAI,cAAc,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,QAAQ;oBAAE,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/E,CAAC,CAAC,CAAA;YACF,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,SAAsB,EAAE,MAAmB,EAAE,MAAyB,EAAE,IAAwB,EAAQ,EAAE;QACrI,sDAAsD;QACtD,iDAAiD;QACjD,oCAAoC;QACpC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,CAAA;YACnC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAM;YACxB,2CAA2C;YAC3C,wCAAwC;YACxC,MAAM,IAAI,GAAG,SAAS,CAAA;YACtB,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI;gBAAE,OAAM;YAChD,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;YAClC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAA;YAChC,OAAM;QACR,CAAC;QACD,2CAA2C;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QACnC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI;YAAE,OAAM;QAChD,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;YAC7B,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,YAAY;SACxB,CAAC,CAAA;QACF,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;QACvD,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACrC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,QAAQ,IAAI,SAAS;YAAE,OAAM;QACjC,SAAS,GAAG,IAAI,CAAA;QAChB,QAAQ,EAAE,UAAU,EAAE,CAAA;QACtB,IAAI,CAAC;YACH,IAAI,EAAE,CAAA;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAoB,UAAU,iBAAiB,GAAG,CAAC,CAAA;YACpF,IAAI,MAAM,KAAK,IAAI;gBAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC;gBAAS,CAAC;YACT,SAAS,GAAG,KAAK,CAAA;YACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;gBAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAChK,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,QAAQ,IAAI,SAAS,IAAI,YAAY;YAAE,OAAM;QACjD,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAc,QAAQ,CAAC,CAAC,CAAA;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAoB,UAAU,iBAAiB,GAAG,CAAC,CAAA;QACpF,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,aAAa;YAAE,OAAM;QACxG,YAAY,GAAG,IAAI,CAAA;QACnB,cAAc,CAAC,GAAG,EAAE;YAClB,YAAY,GAAG,KAAK,CAAA;YACpB,SAAS,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,QAAQ,GAAG,OAAO,gBAAgB,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACvG,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IACjI,6CAA6C;IAC7C,MAAM,mBAAmB,GAAG,aAAa,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;IACvE,MAAM,+BAA+B,GAAG,GAAS,EAAE;QACjD,UAAU,GAAG,sBAAsB,EAAE,CAAA;QACrC,SAAS,EAAE,CAAA;IACb,CAAC,CAAA;IACD,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,8BAA8B,EAAE,+BAA+B,CAAC,CAAA;IACnG,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtD,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,sBAAsB,EAAE,CAAA,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAC/F,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAA;IAEnD,OAAO;QACL,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAM;YACpB,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,KAAK,KAAK,SAAS;gBAAE,aAAa,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,iBAAiB,KAAK,SAAS;gBAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;YACrE,QAAQ,EAAE,UAAU,EAAE,CAAA;YACtB,cAAc,EAAE,UAAU,EAAE,CAAA;YAC5B,mBAAmB,EAAE,EAAE,CAAA;YACvB,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,8BAA8B,EAAE,+BAA+B,CAAC,CAAA;YACtG,SAAS,EAAE,CAAA;YACX,IAAI,CAAC,gBAAgB,CAAc,UAAU,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACrG,CAAC;KACF,CAAA;IAED,sCAAsC;IACtC,KAAK,UAAU,sBAAsB;QACnC,IAAI,QAAQ,IAAI,oBAAoB;YAAE,OAAM;QAC5C,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAA;QAC/C,MAAM,cAAc,GAAG,mCAAmC,EAAE,CAAA;QAC5D,MAAM,kBAAkB,GAAG,UAAU,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAA;QACxH,MAAM,gBAAgB,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAA;QAC5H,IAAI,CAAC,kBAAkB,IAAI,CAAC,gBAAgB;YAAE,OAAM;QACpD,oBAAoB,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,6BAA6B,EAAE;oBAC9G,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;iBACxC,CAAC,CAAA;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,KAAK,GAAG,IAAI,CAAA;qBACzB,CAAC;oBACJ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAA;oBAC9D,qBAAqB,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;gBACtF,CAAC;YACH,CAAC;YACD,IAAI,kBAAkB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAuC,oCAAoC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC3I,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;oBAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACrG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC;gBAAS,CAAC;YACT,oBAAoB,GAAG,KAAK,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,SAAS,gBAAgB;QACvB,SAAS,EAAE,CAAA;QACX,IAAI,CAAC,gBAAgB,CAAc,UAAU,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,SAAS,YAAY,CAAC,MAAyB;QAC7C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAA;QAC1C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,QAAQ,WAAW,CAAA;QACxE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,EAAE,IAAI,IAAI,SAAS,CAAA;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAc,gCAAgC,CAAC,CAAA;QACrF,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,iDAAiD,CAAA;IACxG,CAAC;IAED,SAAS,aAAa;QACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;QAChC,IAAI,cAAc,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,IAAI,CAAA;QACxE,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACpF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC3D,CAAC;QACD,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAChG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,sBAAsB;QAC7B,OAAO,aAAa,EAAE,KAAK,IAAI,IAAI,uBAAuB,EAAE,CAAA;IAC9D,CAAC;IAED,SAAS,uBAAuB;QAC9B,oDAAoD;QACpD,mDAAmD;QACnD,IAAI,CAAC,4BAA4B,EAAE;YAAE,OAAO,KAAK,CAAA;QACjD,OAAO,qBAAqB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,aAAa,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,SAAS,4BAA4B;QACnC,MAAM,KAAK,GAAG,+BAA+B,EAAE,CAAA;QAC/C,OAAO,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,UAAU,CAAA;IAC1D,CAAC;IAED,SAAS,qBAAqB;QAC5B,OAAO,aAAa,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;IACtE,CAAC;IAED,SAAS,cAAc;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;QACrH,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,kBAAkB,CAAA;IACtH,CAAC;IAED,SAAS,aAAa;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAA;IACzE,CAAC;IAED,mCAAmC;IACnC,SAAS,SAAS;QAChB,IAAI,CAAC,gBAAgB,CAAc,IAAI,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1F,gBAAgB,EAAE,EAAE,CAAA;QACpB,gBAAgB,GAAG,SAAS,CAAA;IAC9B,CAAC;IAED,SAAS,UAAU,CAAC,MAAyB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAc,IAAI,cAAc,GAAG,CAAC,CAAA;QACvE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,SAAS,EAAE,CAAA;YACX,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3B,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACpC,6CAA6C;QAC7C,qCAAqC;QACrC,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;IAClF,CAAC;IAED,SAAS,sBAAsB,CAAC,IAAiB,EAAE,MAAyB;QAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QAC7G,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAA;QACjH,MAAM,GAAG,GAAG,CAAC,CAAA;QACb,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,GAAG,GAAG,CAAA;QAC5C,MAAM,IAAI,GAAG,aAAa,GAAG,QAAQ,CAAC,KAAK,IAAI,aAAa,GAAG,GAAG;YAChE,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;QACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACxB,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5F,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YAC7B,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,IAAiB;QACnC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAC9D,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,QAAQ;gBAChD,CAAC,CAAC,OAAO,CAAA;QACX,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QACrG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YACxD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QACzH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC7C,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAA;QACxB,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAA;QACpC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;QAChD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;YAChE,SAAS,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAC3C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;YACtB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;YACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;YAC9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,aAAa,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACpE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAiB;QAC5C,IAAI,GAAG,IAAI,CAAA;QACX,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;YAC/B,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,eAAe,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACpF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACnD,CAAC;gBACD,8DAA8D;gBAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE,GAAG,CAAC,CAAA;gBACtE,OAAM;YACR,CAAC;iBAAM,IAAI,OAAO,EAAE,KAAK,KAAK,OAAO;gBAAE,2BAA2B,CAAC,SAAS,CAAC,CAAA;iBACxE,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK;gBAAE,MAAM,KAAK,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;;gBAC/G,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACtC,IAAI,OAAO,QAAQ,KAAK,WAAW;gBAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,GAAG,KAAK,CAAA;YACZ,UAAU,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAa;IACpD,0CAA0C;IAC1C,yCAAyC;IACzC,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACnD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE;QACpG,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAA;IACpG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0E,CAAA;IAC3G,OAAO,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QACvE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC9G,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAA;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACzE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAiE,CAAA;QAC3H,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;QAC9J,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAa,EAAE,OAAgB;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IACtB,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,6DAA6D,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,gDAAgD,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,sEAAsE,EAAE,SAAS,EAAE,oDAAoD,EAAE,CAAC,CAAA;IACpkB,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,wFAAwF,CAAA;QAClH,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,mFAAmF,CAAA;QAC9G,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAA;IAC7C,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,gDAAgD,CAAA;QAC1E,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,mDAAmD,CAAA;QAC9E,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,mDAAmD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAA,CAAC,CAAC,CAAC,CAAA;IAC1J,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,CAAC,YAAY,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;IACvD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kFAAkF,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,0CAA0C,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACjV,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,0CAA0C;AAC1C,SAAS,oBAAoB,CAAC,GAAa;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;IACpE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC/B,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACxC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACvC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAA;IAChC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IACtE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,qEAAqE,CAAC,CAAA;IAC7F,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC3C,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACxC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IACvE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,sEAAsE,CAAC,CAAA;IAC/F,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC5C,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACzC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IACxE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IACzC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,yCAAyC,CAAC,CAAA;IACxE,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IAC1C,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;IACpE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC/B,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACxC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACvC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAA;IAChC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IACzE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAA;IACrE,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IACxE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yCAAyC,CAAC,CAAA;IACtE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;IACxE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;IAC3E,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAA;IACxF,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC9C,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACxC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,GAAa;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,aAAa,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5X,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,eAAe,KAA6B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA,CAAC,CAAC;AACnP,SAAS,QAAQ,CAAC,GAAa,EAAE,KAAa,EAAE,GAAsB,IAAiB,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC;AACnK,SAAS,WAAW,CAAC,GAAa,EAAE,KAAa,EAAE,KAAa;IAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IACxB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC,CAAA;IACnE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,qDAAqD,EAAE,CAAC,CAAA;IAC3J,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,4EAA4E,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAChP,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACzB,OAAO,GAAG,CAAA;AACZ,CAAC;AACD,SAAS,MAAM,CAAC,MAAmB,EAAE,QAAqB,IAAa,OAAO,MAAM,CAAC,WAAW,GAAG,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,EAAE,CAAA,CAAC,CAAC;AACvM,SAAS,aAAa,CAAC,KAAa,IAAY,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA,CAAC,CAAC;AAChF,SAAS,WAAW,CAAC,KAAa,IAAY,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC;IAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,CAAC;AAClK,SAAS,eAAe,KAAc,OAAQ,UAAgE,CAAC,mCAAmC,KAAK,IAAI,CAAA,CAAC,CAAC;AAC7J,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,UAAkE,CAAA;IAChF,IAAI,KAAK,CAAC,2BAA2B,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAC9D,IAAI,KAAK,CAAC,2BAA2B,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC/D,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AACxC,CAAC;AACD,SAAS,iBAAiB,KAAkC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA,CAAC,CAAC"}