@theia/core 1.43.1 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +6 -6
  2. package/i18n/nls.cs.json +10 -3
  3. package/i18n/nls.de.json +10 -3
  4. package/i18n/nls.es.json +10 -3
  5. package/i18n/nls.fr.json +10 -3
  6. package/i18n/nls.hu.json +10 -3
  7. package/i18n/nls.it.json +10 -3
  8. package/i18n/nls.ja.json +10 -3
  9. package/i18n/nls.json +10 -3
  10. package/i18n/nls.pl.json +10 -3
  11. package/i18n/nls.pt-br.json +10 -3
  12. package/i18n/nls.pt-pt.json +10 -3
  13. package/i18n/nls.ru.json +10 -3
  14. package/i18n/nls.zh-cn.json +10 -3
  15. package/lib/browser/common-frontend-contribution.d.ts +10 -0
  16. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  17. package/lib/browser/common-frontend-contribution.js +68 -10
  18. package/lib/browser/common-frontend-contribution.js.map +1 -1
  19. package/lib/browser/connection-status-service.d.ts +2 -2
  20. package/lib/browser/connection-status-service.d.ts.map +1 -1
  21. package/lib/browser/connection-status-service.js +3 -3
  22. package/lib/browser/connection-status-service.js.map +1 -1
  23. package/lib/browser/connection-status-service.spec.js +6 -6
  24. package/lib/browser/connection-status-service.spec.js.map +1 -1
  25. package/lib/browser/core-preferences.d.ts.map +1 -1
  26. package/lib/browser/core-preferences.js +16 -0
  27. package/lib/browser/core-preferences.js.map +1 -1
  28. package/lib/browser/dialogs.d.ts +0 -1
  29. package/lib/browser/dialogs.d.ts.map +1 -1
  30. package/lib/browser/dialogs.js +1 -34
  31. package/lib/browser/dialogs.js.map +1 -1
  32. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  33. package/lib/browser/frontend-application-module.js +4 -0
  34. package/lib/browser/frontend-application-module.js.map +1 -1
  35. package/lib/browser/icon-theme-contribution.d.ts +1 -0
  36. package/lib/browser/icon-theme-contribution.d.ts.map +1 -1
  37. package/lib/browser/icon-theme-contribution.js +1 -0
  38. package/lib/browser/icon-theme-contribution.js.map +1 -1
  39. package/lib/browser/icon-theme-service.d.ts +1 -0
  40. package/lib/browser/icon-theme-service.d.ts.map +1 -1
  41. package/lib/browser/icon-theme-service.js.map +1 -1
  42. package/lib/browser/language-icon-provider.d.ts +15 -0
  43. package/lib/browser/language-icon-provider.d.ts.map +1 -0
  44. package/lib/browser/language-icon-provider.js +74 -0
  45. package/lib/browser/language-icon-provider.js.map +1 -0
  46. package/lib/browser/language-service.d.ts +22 -0
  47. package/lib/browser/language-service.d.ts.map +1 -1
  48. package/lib/browser/language-service.js +28 -0
  49. package/lib/browser/language-service.js.map +1 -1
  50. package/lib/browser/messaging/connection-source.d.ts +9 -0
  51. package/lib/browser/messaging/connection-source.d.ts.map +1 -0
  52. package/lib/browser/messaging/connection-source.js +20 -0
  53. package/lib/browser/messaging/connection-source.js.map +1 -0
  54. package/lib/browser/messaging/frontend-id-provider.d.ts +13 -0
  55. package/lib/browser/messaging/frontend-id-provider.d.ts.map +1 -0
  56. package/lib/browser/messaging/frontend-id-provider.js +40 -0
  57. package/lib/browser/messaging/frontend-id-provider.js.map +1 -0
  58. package/lib/browser/messaging/messaging-frontend-module.d.ts.map +1 -1
  59. package/lib/browser/messaging/messaging-frontend-module.js +18 -1
  60. package/lib/browser/messaging/messaging-frontend-module.js.map +1 -1
  61. package/lib/browser/messaging/service-connection-provider.d.ts +48 -0
  62. package/lib/browser/messaging/service-connection-provider.d.ts.map +1 -0
  63. package/lib/browser/messaging/service-connection-provider.js +115 -0
  64. package/lib/browser/messaging/service-connection-provider.js.map +1 -0
  65. package/lib/browser/messaging/ws-connection-provider.d.ts +7 -38
  66. package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
  67. package/lib/browser/messaging/ws-connection-provider.js +17 -121
  68. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  69. package/lib/browser/messaging/ws-connection-source.d.ts +41 -0
  70. package/lib/browser/messaging/ws-connection-source.d.ts.map +1 -0
  71. package/lib/browser/messaging/ws-connection-source.js +210 -0
  72. package/lib/browser/messaging/ws-connection-source.js.map +1 -0
  73. package/lib/browser/preload/i18n-preload-contribution.js +1 -1
  74. package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
  75. package/lib/browser/shell/application-shell.js +1 -1
  76. package/lib/browser/shell/application-shell.js.map +1 -1
  77. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts +1 -0
  78. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts.map +1 -1
  79. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +5 -0
  80. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  81. package/lib/browser/tree/tree-widget.d.ts +6 -0
  82. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  83. package/lib/browser/tree/tree-widget.js +21 -11
  84. package/lib/browser/tree/tree-widget.js.map +1 -1
  85. package/lib/browser/user-working-directory-provider.d.ts +8 -1
  86. package/lib/browser/user-working-directory-provider.d.ts.map +1 -1
  87. package/lib/browser/user-working-directory-provider.js +22 -1
  88. package/lib/browser/user-working-directory-provider.js.map +1 -1
  89. package/lib/browser/window/default-secondary-window-service.d.ts +3 -0
  90. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  91. package/lib/browser/window/default-secondary-window-service.js +55 -1
  92. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  93. package/lib/common/contribution-filter/contribution-filter.d.ts +9 -0
  94. package/lib/common/contribution-filter/contribution-filter.d.ts.map +1 -1
  95. package/lib/common/event.js +1 -1
  96. package/lib/common/event.js.map +1 -1
  97. package/lib/common/message-rpc/channel.d.ts.map +1 -1
  98. package/lib/common/message-rpc/channel.js +7 -1
  99. package/lib/common/message-rpc/channel.js.map +1 -1
  100. package/lib/common/message-rpc/message-buffer.d.ts +2 -0
  101. package/lib/common/message-rpc/message-buffer.d.ts.map +1 -1
  102. package/lib/common/message-rpc/message-buffer.js +4 -0
  103. package/lib/common/message-rpc/message-buffer.js.map +1 -1
  104. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +1 -0
  105. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -1
  106. package/lib/common/message-rpc/uint8-array-message-buffer.js +6 -0
  107. package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -1
  108. package/lib/common/messaging/connection-management.d.ts +25 -0
  109. package/lib/common/messaging/connection-management.d.ts.map +1 -0
  110. package/lib/common/messaging/connection-management.js +38 -0
  111. package/lib/common/messaging/connection-management.js.map +1 -0
  112. package/lib/common/messaging/handler.d.ts +1 -0
  113. package/lib/common/messaging/handler.d.ts.map +1 -1
  114. package/lib/common/messaging/handler.js +2 -1
  115. package/lib/common/messaging/handler.js.map +1 -1
  116. package/lib/common/messaging/socket-write-buffer.d.ts +11 -0
  117. package/lib/common/messaging/socket-write-buffer.d.ts.map +1 -0
  118. package/lib/common/messaging/socket-write-buffer.js +50 -0
  119. package/lib/common/messaging/socket-write-buffer.js.map +1 -0
  120. package/lib/common/messaging/web-socket-channel.d.ts +7 -35
  121. package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
  122. package/lib/common/messaging/web-socket-channel.js +20 -9
  123. package/lib/common/messaging/web-socket-channel.js.map +1 -1
  124. package/lib/common/nls.js +12 -1
  125. package/lib/common/nls.js.map +1 -1
  126. package/lib/electron-browser/messaging/electron-frontend-id-provider.d.ts +5 -0
  127. package/lib/electron-browser/messaging/electron-frontend-id-provider.d.ts.map +1 -0
  128. package/lib/{electron-node/token/electron-token-messaging-contribution.js → electron-browser/messaging/electron-frontend-id-provider.js} +9 -28
  129. package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -0
  130. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts +24 -0
  131. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts.map +1 -0
  132. package/lib/electron-browser/messaging/{electron-ipc-connection-provider.js → electron-ipc-connection-source.js} +19 -19
  133. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -0
  134. package/lib/electron-browser/messaging/electron-local-ws-connection-source.d.ts +7 -0
  135. package/lib/electron-browser/messaging/electron-local-ws-connection-source.d.ts.map +1 -0
  136. package/lib/electron-browser/messaging/{electron-local-ws-connection-provider.js → electron-local-ws-connection-source.js} +7 -7
  137. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -0
  138. package/lib/electron-browser/messaging/electron-messaging-frontend-module.d.ts.map +1 -1
  139. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +45 -13
  140. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
  141. package/lib/electron-browser/messaging/electron-ws-connection-source.d.ts +12 -0
  142. package/lib/electron-browser/messaging/electron-ws-connection-source.d.ts.map +1 -0
  143. package/lib/electron-browser/messaging/{electron-ws-connection-provider.js → electron-ws-connection-source.js} +14 -21
  144. package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -0
  145. package/lib/electron-browser/preload.d.ts.map +1 -1
  146. package/lib/electron-browser/preload.js +11 -0
  147. package/lib/electron-browser/preload.js.map +1 -1
  148. package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -1
  149. package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
  150. package/lib/electron-browser/window/electron-window-module.js +2 -2
  151. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  152. package/lib/electron-browser/window/electron-window-preferences.js +1 -1
  153. package/lib/electron-browser/window/electron-window-preferences.js.map +1 -1
  154. package/lib/electron-browser/window/electron-window-service.d.ts +4 -0
  155. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  156. package/lib/electron-browser/window/electron-window-service.js +13 -0
  157. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  158. package/lib/electron-common/electron-api.d.ts +7 -0
  159. package/lib/electron-common/electron-api.d.ts.map +1 -1
  160. package/lib/electron-common/electron-api.js +3 -1
  161. package/lib/electron-common/electron-api.js.map +1 -1
  162. package/lib/electron-main/electron-api-main.d.ts +1 -0
  163. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  164. package/lib/electron-main/electron-api-main.js +15 -0
  165. package/lib/electron-main/electron-api-main.js.map +1 -1
  166. package/lib/electron-main/electron-main-application-module.js +5 -5
  167. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  168. package/lib/electron-main/electron-main-application.d.ts +9 -13
  169. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  170. package/lib/electron-main/electron-main-application.js +60 -28
  171. package/lib/electron-main/electron-main-application.js.map +1 -1
  172. package/lib/electron-main/messaging/electron-connection-handler.d.ts.map +1 -0
  173. package/lib/electron-main/messaging/electron-connection-handler.js.map +1 -0
  174. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +13 -22
  175. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
  176. package/lib/electron-main/messaging/electron-messaging-contribution.js +39 -39
  177. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  178. package/lib/electron-main/messaging/electron-messaging-service.d.ts.map +1 -1
  179. package/lib/electron-main/messaging/electron-messaging-service.js.map +1 -1
  180. package/lib/electron-main/theia-electron-window.d.ts +2 -2
  181. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  182. package/lib/electron-main/theia-electron-window.js +3 -2
  183. package/lib/electron-main/theia-electron-window.js.map +1 -1
  184. package/lib/node/backend-application.d.ts +2 -0
  185. package/lib/node/backend-application.d.ts.map +1 -1
  186. package/lib/node/backend-application.js +11 -9
  187. package/lib/node/backend-application.js.map +1 -1
  188. package/lib/node/cli.d.ts +1 -1
  189. package/lib/node/cli.d.ts.map +1 -1
  190. package/lib/node/cli.js +9 -5
  191. package/lib/node/cli.js.map +1 -1
  192. package/lib/node/cli.spec.js +3 -3
  193. package/lib/node/cli.spec.js.map +1 -1
  194. package/lib/node/env-variables/env-variables-server.d.ts +3 -0
  195. package/lib/node/env-variables/env-variables-server.d.ts.map +1 -1
  196. package/lib/node/env-variables/env-variables-server.js +25 -1
  197. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  198. package/lib/node/i18n/localization-server.d.ts +1 -1
  199. package/lib/node/i18n/localization-server.d.ts.map +1 -1
  200. package/lib/node/messaging/default-messaging-service.d.ts +29 -0
  201. package/lib/node/messaging/default-messaging-service.d.ts.map +1 -0
  202. package/lib/node/messaging/default-messaging-service.js +140 -0
  203. package/lib/node/messaging/default-messaging-service.js.map +1 -0
  204. package/lib/node/messaging/frontend-connection-service.d.ts +7 -0
  205. package/lib/node/messaging/frontend-connection-service.d.ts.map +1 -0
  206. package/lib/node/messaging/frontend-connection-service.js +19 -0
  207. package/lib/node/messaging/frontend-connection-service.js.map +1 -0
  208. package/lib/node/messaging/ipc-protocol.js +1 -1
  209. package/lib/node/messaging/ipc-protocol.js.map +1 -1
  210. package/lib/node/messaging/messaging-backend-module.d.ts.map +1 -1
  211. package/lib/node/messaging/messaging-backend-module.js +23 -9
  212. package/lib/node/messaging/messaging-backend-module.js.map +1 -1
  213. package/lib/node/messaging/messaging-service.d.ts +2 -3
  214. package/lib/node/messaging/messaging-service.d.ts.map +1 -1
  215. package/lib/node/messaging/test/test-web-socket-channel.d.ts +3 -3
  216. package/lib/node/messaging/test/test-web-socket-channel.d.ts.map +1 -1
  217. package/lib/node/messaging/test/test-web-socket-channel.js +38 -24
  218. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  219. package/lib/node/messaging/websocket-endpoint.d.ts +21 -0
  220. package/lib/node/messaging/websocket-endpoint.d.ts.map +1 -0
  221. package/lib/node/messaging/websocket-endpoint.js +89 -0
  222. package/lib/node/messaging/websocket-endpoint.js.map +1 -0
  223. package/lib/node/messaging/websocket-frontend-connection-service.d.ts +30 -0
  224. package/lib/node/messaging/websocket-frontend-connection-service.d.ts.map +1 -0
  225. package/lib/node/messaging/websocket-frontend-connection-service.js +173 -0
  226. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -0
  227. package/package.json +6 -6
  228. package/src/browser/common-frontend-contribution.ts +70 -9
  229. package/src/browser/connection-status-service.spec.ts +6 -6
  230. package/src/browser/connection-status-service.ts +2 -2
  231. package/src/browser/core-preferences.ts +16 -0
  232. package/src/browser/dialogs.ts +0 -34
  233. package/src/browser/frontend-application-module.ts +4 -0
  234. package/src/browser/icon-theme-contribution.ts +1 -0
  235. package/src/browser/icon-theme-service.ts +1 -0
  236. package/src/browser/language-icon-provider.ts +55 -0
  237. package/src/browser/language-service.ts +34 -0
  238. package/src/browser/messaging/connection-source.ts +26 -0
  239. package/src/browser/messaging/frontend-id-provider.ts +37 -0
  240. package/src/browser/messaging/messaging-frontend-module.ts +20 -2
  241. package/src/browser/messaging/service-connection-provider.ts +126 -0
  242. package/src/browser/messaging/ws-connection-provider.ts +16 -141
  243. package/src/browser/messaging/ws-connection-source.ts +210 -0
  244. package/src/browser/preload/i18n-preload-contribution.ts +1 -1
  245. package/src/browser/shell/application-shell.ts +1 -1
  246. package/src/browser/style/index.css +1 -0
  247. package/src/browser/style/os.css +87 -0
  248. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +27 -7
  249. package/src/browser/tree/tree-widget.tsx +21 -10
  250. package/src/browser/user-working-directory-provider.ts +32 -3
  251. package/src/browser/window/default-secondary-window-service.ts +54 -1
  252. package/src/common/contribution-filter/contribution-filter.ts +9 -0
  253. package/src/common/event.ts +1 -1
  254. package/src/common/i18n/nls.metadata.json +7695 -7220
  255. package/src/common/message-rpc/channel.ts +5 -1
  256. package/src/common/message-rpc/message-buffer.ts +6 -0
  257. package/src/common/message-rpc/uint8-array-message-buffer.ts +7 -0
  258. package/src/common/messaging/connection-management.ts +43 -0
  259. package/src/common/messaging/handler.ts +2 -0
  260. package/src/common/messaging/socket-write-buffer.ts +52 -0
  261. package/src/common/messaging/web-socket-channel.ts +28 -45
  262. package/src/common/nls.ts +12 -1
  263. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -0
  264. package/src/electron-browser/messaging/{electron-ipc-connection-provider.ts → electron-ipc-connection-source.ts} +17 -13
  265. package/src/electron-browser/messaging/{electron-local-ws-connection-provider.ts → electron-local-ws-connection-source.ts} +2 -2
  266. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +49 -12
  267. package/src/electron-browser/messaging/{electron-ws-connection-provider.ts → electron-ws-connection-source.ts} +6 -17
  268. package/src/electron-browser/preload.ts +16 -1
  269. package/src/electron-browser/window/electron-secondary-window-service.ts +1 -1
  270. package/src/electron-browser/window/electron-window-module.ts +1 -1
  271. package/src/electron-browser/window/electron-window-preferences.ts +1 -1
  272. package/src/electron-browser/window/electron-window-service.ts +11 -0
  273. package/src/electron-common/electron-api.ts +8 -0
  274. package/src/electron-main/electron-api-main.ts +20 -1
  275. package/src/electron-main/electron-main-application-module.ts +5 -5
  276. package/src/electron-main/electron-main-application.ts +72 -44
  277. package/src/electron-main/messaging/electron-messaging-contribution.ts +45 -43
  278. package/src/electron-main/messaging/electron-messaging-service.ts +1 -0
  279. package/src/electron-main/theia-electron-window.ts +4 -3
  280. package/src/node/backend-application.ts +14 -11
  281. package/src/node/cli.spec.ts +3 -3
  282. package/src/node/cli.ts +9 -5
  283. package/src/node/env-variables/env-variables-server.ts +21 -1
  284. package/src/node/i18n/localization-server.ts +1 -1
  285. package/src/node/messaging/default-messaging-service.ts +129 -0
  286. package/src/node/messaging/frontend-connection-service.ts +24 -0
  287. package/src/node/messaging/ipc-protocol.ts +1 -1
  288. package/src/node/messaging/messaging-backend-module.ts +25 -10
  289. package/src/node/messaging/messaging-service.ts +3 -3
  290. package/src/node/messaging/test/test-web-socket-channel.ts +32 -27
  291. package/src/node/messaging/websocket-endpoint.ts +79 -0
  292. package/src/node/messaging/websocket-frontend-connection-service.ts +171 -0
  293. package/lib/common/messaging/abstract-connection-provider.d.ts +0 -45
  294. package/lib/common/messaging/abstract-connection-provider.d.ts.map +0 -1
  295. package/lib/common/messaging/abstract-connection-provider.js +0 -93
  296. package/lib/common/messaging/abstract-connection-provider.js.map +0 -1
  297. package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +0 -19
  298. package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +0 -1
  299. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +0 -1
  300. package/lib/electron-browser/messaging/electron-local-ws-connection-provider.d.ts +0 -7
  301. package/lib/electron-browser/messaging/electron-local-ws-connection-provider.d.ts.map +0 -1
  302. package/lib/electron-browser/messaging/electron-local-ws-connection-provider.js.map +0 -1
  303. package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts +0 -17
  304. package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts.map +0 -1
  305. package/lib/electron-browser/messaging/electron-ws-connection-provider.js.map +0 -1
  306. package/lib/electron-common/messaging/electron-connection-handler.d.ts.map +0 -1
  307. package/lib/electron-common/messaging/electron-connection-handler.js.map +0 -1
  308. package/lib/electron-node/token/electron-token-messaging-contribution.d.ts +0 -16
  309. package/lib/electron-node/token/electron-token-messaging-contribution.d.ts.map +0 -1
  310. package/lib/electron-node/token/electron-token-messaging-contribution.js.map +0 -1
  311. package/lib/node/messaging/messaging-contribution.d.ts +0 -44
  312. package/lib/node/messaging/messaging-contribution.d.ts.map +0 -1
  313. package/lib/node/messaging/messaging-contribution.js +0 -210
  314. package/lib/node/messaging/messaging-contribution.js.map +0 -1
  315. package/src/common/messaging/abstract-connection-provider.ts +0 -115
  316. package/src/electron-node/token/electron-token-messaging-contribution.ts +0 -41
  317. package/src/node/messaging/messaging-contribution.ts +0 -197
  318. /package/lib/{electron-common → electron-main}/messaging/electron-connection-handler.d.ts +0 -0
  319. /package/lib/{electron-common → electron-main}/messaging/electron-connection-handler.js +0 -0
  320. /package/src/{electron-common → electron-main}/messaging/electron-connection-handler.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ws-connection-provider.js","sourceRoot":"","sources":["../../../src/browser/messaging/ws-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;;AAEhF,yCAAwE;AACxE,yCAAkF;AAClF,0CAAuC;AACvC,sGAAiG;AACjG,uDAA8C;AAC9C,kFAAyF;AAEzF,IAAA,oBAAQ,EAAC,IAAA,sBAAU,GAAE,EAAE,wBAAe,CAAC,CAAC;AACxC,IAAA,oBAAQ,EAAC,IAAA,qBAAS,GAAE,EAAE,wBAAe,EAAE,CAAC,CAAC,CAAC;AAE7B,QAAA,gCAAgC,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAU3F,IAAa,2BAA2B,mCAAxC,MAAa,2BAA4B,SAAQ,yDAA4C;IA+BzF;QACI,KAAK,EAAE,CAAC;QA9BO,2BAAsB,GAAkB,IAAI,gBAAO,EAAE,CAAC;QAKtD,4BAAuB,GAAkB,IAAI,gBAAO,EAAE,CAAC;QA0BtE,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,qCAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;aACrC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IA3CD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAC7C,CAAC;IAGD,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,MAAM,CAAU,WAAW,CAAmB,SAA+B,EAAE,IAAY,EAAE,GAAY;QACrG,OAAO,SAAS,CAAC,GAAG,CAAC,6BAA2B,CAAC,CAAC,WAAW,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAmB,SAA+B,EAAE,IAAY,EAAE,GAAY;QACjG,OAAO,SAAS,CAAC,GAAG,CAA8B,wCAAgC,CAAC,CAAC,WAAW,CAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAA+B,EAAE,IAAY,EAAE,GAAY;QAC5E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,6BAA2B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAA8B,wCAAgC,CAAC,CAAC;QAC3F,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,KAAK,EAAE;YAClB,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAChC;IACL,CAAC;IAqBS,iBAAiB;QACvB,OAAO,IAAI,qCAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,YAAY,CAAC,MAAc;QACjC,OAAO;YACH,KAAK,EAAE,GAAG,EAAE;gBACR,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS;YACnC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACvD,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;SACnD,CAAC;IACN,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAmC,EAAE,OAA0B;QACpG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACpD;aAAM;YACH,MAAM,WAAW,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC1C;IACL,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,IAAY;QACrC,yEAAyE;QACzE,4BAA4B;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjF,CAAC;IAES,sBAAsB,CAAC,IAAY;QACzC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAES,cAAc,CAAC,IAAY;QACjC,OAAO,IAAI,mBAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,GAAW;QACjC,OAAO,IAAA,qBAAE,EAAC,GAAG,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;YAClC,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,QAAQ;YAC9B,YAAY,EAAE;gBACV,uCAAuC;gBACvC,4CAA4C;gBAC5C,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;aACvC;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,GAAW;QACpC,IAAI,QAAQ,CAAC,QAAQ,KAAK,mBAAQ,CAAC,UAAU,EAAE;YAC3C,OAAO,YAAY,CAAC;SACvB;QACD,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACzB,QAAQ,IAAI,GAAG,CAAC;SACnB;QACD,OAAO,QAAQ,GAAG,WAAW,CAAC;IAClC,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAES,kBAAkB;QACxB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AAvIY,2BAA2B;IADvC,IAAA,sBAAU,GAAE;;GACA,2BAA2B,CAuIvC;AAvIY,kEAA2B"}
1
+ {"version":3,"file":"ws-connection-provider.js","sourceRoot":"","sources":["../../../src/browser/messaging/ws-connection-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAEhF,yCAAgF;AAChF,yCAAyD;AACzD,+EAAoG;AAEpG,IAAA,oBAAQ,EAAC,IAAA,sBAAU,GAAE,EAAE,wBAAe,CAAC,CAAC;AACxC,IAAA,oBAAQ,EAAC,IAAA,qBAAS,GAAE,EAAE,wBAAe,EAAE,CAAC,CAAC,CAAC;AAE1C;;GAEG;AAEH,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAIpC,MAAM,CAAC,WAAW,CAAmB,SAA+B,EAAE,IAAY,EAAE,GAAY;QAC5F,OAAO,uDAAyB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAmB,SAA+B,EAAE,IAAY,EAAE,GAAY;QACjG,OAAO,uDAAyB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,SAA+B,EAAE,IAAY,EAAE,GAAY;QAC5E,OAAO,uDAAyB,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IAGD,WAAW,CAAmB,IAAY,EAAE,OAA2B;QACnE,OAAO,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;CACJ,CAAA;AAlBG;IADC,IAAA,kBAAM,EAAC,sDAAwB,CAAC;8BACU,uDAAyB;6EAAC;AAF5D,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAoBvC;AApBY,kEAA2B"}
@@ -0,0 +1,41 @@
1
+ import { AbstractChannel, Channel, Emitter, Event } from '../../common';
2
+ import { ConnectionSource } from './connection-source';
3
+ import { Socket } from 'socket.io-client';
4
+ import { Endpoint } from '../endpoint';
5
+ import { FrontendIdProvider } from './frontend-id-provider';
6
+ export declare class WebSocketConnectionSource implements ConnectionSource {
7
+ static readonly NO_CONNECTION = "<none>";
8
+ protected readonly frontendIdProvider: FrontendIdProvider;
9
+ private readonly writeBuffer;
10
+ private _socket;
11
+ get socket(): Socket;
12
+ protected currentChannel: AbstractChannel;
13
+ protected readonly onConnectionDidOpenEmitter: Emitter<Channel>;
14
+ get onConnectionDidOpen(): Event<Channel>;
15
+ protected readonly onSocketDidOpenEmitter: Emitter<void>;
16
+ get onSocketDidOpen(): Event<void>;
17
+ protected readonly onSocketDidCloseEmitter: Emitter<void>;
18
+ get onSocketDidClose(): Event<void>;
19
+ protected readonly onIncomingMessageActivityEmitter: Emitter<void>;
20
+ get onIncomingMessageActivity(): Event<void>;
21
+ constructor();
22
+ openSocket(): void;
23
+ protected handleSocketConnected(): void;
24
+ connectNewChannel(): void;
25
+ protected createChannel(): AbstractChannel;
26
+ /**
27
+ * @param path The handler to reach in the backend.
28
+ */
29
+ protected createWebSocketUrl(path: string): string;
30
+ protected createHttpWebSocketUrl(path: string): string;
31
+ protected createEndpoint(path: string): Endpoint;
32
+ /**
33
+ * Creates a web socket for the given url
34
+ */
35
+ protected createWebSocket(url: string): Socket;
36
+ /**
37
+ * Path for Socket.io to make its requests to.
38
+ */
39
+ protected createSocketIoPath(url: string): string | undefined;
40
+ }
41
+ //# sourceMappingURL=ws-connection-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-connection-source.d.ts","sourceRoot":"","sources":["../../../src/browser/messaging/ws-connection-source.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAoC,OAAO,EAAE,KAAK,EAAgB,MAAM,cAAc,CAAC;AACxH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAM,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D,qBACa,yBAA0B,YAAW,gBAAgB;IAC9D,MAAM,CAAC,QAAQ,CAAC,aAAa,YAAY;IAGzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD,OAAO,CAAC,OAAO,CAAS;IACxB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAiB;IAChF,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,CAExC;IAED,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAiB;IACzE,IAAI,eAAe,IAAI,KAAK,CAAC,IAAI,CAAC,CAEjC;IAED,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC1E,IAAI,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,CAElC;IAED,SAAS,CAAC,QAAQ,CAAC,gCAAgC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAiB;IACnF,IAAI,yBAAyB,IAAI,KAAK,CAAC,IAAI,CAAC,CAE3C;;IAMD,UAAU,IAAI,IAAI;IAqBlB,SAAS,CAAC,qBAAqB,IAAI,IAAI;IA0BvC,iBAAiB,IAAI,IAAI;IAUzB,SAAS,CAAC,aAAa,IAAI,eAAe;IAoC1C;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMlD,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAItD,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAIhD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAe9C;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAUhE"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 STMicroelectronics and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.WebSocketConnectionSource = void 0;
28
+ const common_1 = require("../../common");
29
+ const socket_io_client_1 = require("socket.io-client");
30
+ const endpoint_1 = require("../endpoint");
31
+ const channel_1 = require("../../common/message-rpc/channel");
32
+ const uint8_array_message_buffer_1 = require("../../common/message-rpc/uint8-array-message-buffer");
33
+ const inversify_1 = require("inversify");
34
+ const frontend_id_provider_1 = require("./frontend-id-provider");
35
+ const frontend_application_config_provider_1 = require("../frontend-application-config-provider");
36
+ const socket_write_buffer_1 = require("../../common/messaging/socket-write-buffer");
37
+ const connection_management_1 = require("../../common/messaging/connection-management");
38
+ let WebSocketConnectionSource = class WebSocketConnectionSource {
39
+ constructor() {
40
+ this.writeBuffer = new socket_write_buffer_1.SocketWriteBuffer();
41
+ this.onConnectionDidOpenEmitter = new common_1.Emitter();
42
+ this.onSocketDidOpenEmitter = new common_1.Emitter();
43
+ this.onSocketDidCloseEmitter = new common_1.Emitter();
44
+ this.onIncomingMessageActivityEmitter = new common_1.Emitter();
45
+ }
46
+ get socket() {
47
+ return this._socket;
48
+ }
49
+ get onConnectionDidOpen() {
50
+ return this.onConnectionDidOpenEmitter.event;
51
+ }
52
+ get onSocketDidOpen() {
53
+ return this.onSocketDidOpenEmitter.event;
54
+ }
55
+ get onSocketDidClose() {
56
+ return this.onSocketDidCloseEmitter.event;
57
+ }
58
+ get onIncomingMessageActivity() {
59
+ return this.onIncomingMessageActivityEmitter.event;
60
+ }
61
+ openSocket() {
62
+ const url = this.createWebSocketUrl(common_1.servicesPath);
63
+ this._socket = this.createWebSocket(url);
64
+ this._socket.on('connect', () => {
65
+ this.onSocketDidOpenEmitter.fire();
66
+ this.handleSocketConnected();
67
+ });
68
+ this._socket.on('disconnect', () => {
69
+ this.onSocketDidCloseEmitter.fire();
70
+ });
71
+ this._socket.on('error', reason => {
72
+ if (this.currentChannel) {
73
+ this.currentChannel.onErrorEmitter.fire(reason);
74
+ }
75
+ ;
76
+ });
77
+ this._socket.connect();
78
+ }
79
+ handleSocketConnected() {
80
+ if (this.currentChannel) {
81
+ const reconnectListener = (hasConnection) => {
82
+ this._socket.off(connection_management_1.ConnectionManagementMessages.RECONNECT, reconnectListener);
83
+ if (hasConnection) {
84
+ this.writeBuffer.flush(this.socket);
85
+ }
86
+ else {
87
+ if (frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().reloadOnReconnect) {
88
+ window.location.reload(); // this might happen in the preload module, when we have no window service yet
89
+ }
90
+ else {
91
+ this.connectNewChannel();
92
+ }
93
+ }
94
+ };
95
+ this._socket.on(connection_management_1.ConnectionManagementMessages.RECONNECT, reconnectListener);
96
+ this._socket.emit(connection_management_1.ConnectionManagementMessages.RECONNECT, this.frontendIdProvider.getId());
97
+ }
98
+ else {
99
+ const initialConnectListener = () => {
100
+ this._socket.off(connection_management_1.ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
101
+ this.connectNewChannel();
102
+ };
103
+ this._socket.on(connection_management_1.ConnectionManagementMessages.INITIAL_CONNECT, initialConnectListener);
104
+ this._socket.emit(connection_management_1.ConnectionManagementMessages.INITIAL_CONNECT, this.frontendIdProvider.getId());
105
+ }
106
+ }
107
+ connectNewChannel() {
108
+ if (this.currentChannel) {
109
+ this.writeBuffer.drain();
110
+ this.currentChannel.close();
111
+ this.currentChannel.onCloseEmitter.fire({ reason: 'reconnecting channel' });
112
+ }
113
+ this.currentChannel = this.createChannel();
114
+ this.onConnectionDidOpenEmitter.fire(this.currentChannel);
115
+ }
116
+ createChannel() {
117
+ const toDispose = new common_1.DisposableCollection();
118
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
119
+ const messageHandler = (data) => {
120
+ this.onIncomingMessageActivityEmitter.fire();
121
+ if (this.currentChannel) {
122
+ // In the browser context socketIO receives binary messages as ArrayBuffers.
123
+ // So we have to convert them to a Uint8Array before delegating the message to the read buffer.
124
+ const buffer = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
125
+ this.currentChannel.onMessageEmitter.fire(() => new uint8_array_message_buffer_1.Uint8ArrayReadBuffer(buffer));
126
+ }
127
+ ;
128
+ };
129
+ this._socket.on('message', messageHandler);
130
+ toDispose.push(common_1.Disposable.create(() => {
131
+ this.socket.off('message', messageHandler);
132
+ }));
133
+ const channel = new channel_1.ForwardingChannel('any', () => {
134
+ toDispose.dispose();
135
+ }, () => {
136
+ const result = new uint8_array_message_buffer_1.Uint8ArrayWriteBuffer();
137
+ result.onCommit(buffer => {
138
+ if (this.socket.connected) {
139
+ this.socket.send(buffer);
140
+ }
141
+ else {
142
+ this.writeBuffer.buffer(buffer);
143
+ }
144
+ });
145
+ return result;
146
+ });
147
+ return channel;
148
+ }
149
+ /**
150
+ * @param path The handler to reach in the backend.
151
+ */
152
+ createWebSocketUrl(path) {
153
+ // Since we are using Socket.io, the path should look like the following:
154
+ // proto://domain.com/{path}
155
+ return this.createEndpoint(path).getWebSocketUrl().withPath(path).toString();
156
+ }
157
+ createHttpWebSocketUrl(path) {
158
+ return this.createEndpoint(path).getRestUrl().toString();
159
+ }
160
+ createEndpoint(path) {
161
+ return new endpoint_1.Endpoint({ path });
162
+ }
163
+ /**
164
+ * Creates a web socket for the given url
165
+ */
166
+ createWebSocket(url) {
167
+ return (0, socket_io_client_1.io)(url, {
168
+ path: this.createSocketIoPath(url),
169
+ reconnection: true,
170
+ reconnectionDelay: 1000,
171
+ reconnectionDelayMax: 10000,
172
+ reconnectionAttempts: Infinity,
173
+ extraHeaders: {
174
+ // Socket.io strips the `origin` header
175
+ // We need to provide our own for validation
176
+ 'fix-origin': window.location.origin
177
+ }
178
+ });
179
+ }
180
+ /**
181
+ * Path for Socket.io to make its requests to.
182
+ */
183
+ createSocketIoPath(url) {
184
+ if (location.protocol === endpoint_1.Endpoint.PROTO_FILE) {
185
+ return '/socket.io';
186
+ }
187
+ let { pathname } = location;
188
+ if (!pathname.endsWith('/')) {
189
+ pathname += '/';
190
+ }
191
+ return pathname + 'socket.io';
192
+ }
193
+ };
194
+ WebSocketConnectionSource.NO_CONNECTION = '<none>';
195
+ __decorate([
196
+ (0, inversify_1.inject)(frontend_id_provider_1.FrontendIdProvider),
197
+ __metadata("design:type", Object)
198
+ ], WebSocketConnectionSource.prototype, "frontendIdProvider", void 0);
199
+ __decorate([
200
+ (0, inversify_1.postConstruct)(),
201
+ __metadata("design:type", Function),
202
+ __metadata("design:paramtypes", []),
203
+ __metadata("design:returntype", void 0)
204
+ ], WebSocketConnectionSource.prototype, "openSocket", null);
205
+ WebSocketConnectionSource = __decorate([
206
+ (0, inversify_1.injectable)(),
207
+ __metadata("design:paramtypes", [])
208
+ ], WebSocketConnectionSource);
209
+ exports.WebSocketConnectionSource = WebSocketConnectionSource;
210
+ //# sourceMappingURL=ws-connection-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-connection-source.js","sourceRoot":"","sources":["../../../src/browser/messaging/ws-connection-source.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ let I18nPreloadContribution = class I18nPreloadContribution {
37
37
  locale: defaultLocale
38
38
  });
39
39
  }
40
- if (nls_1.nls.locale) {
40
+ if (nls_1.nls.locale && nls_1.nls.locale !== nls_1.nls.defaultLocale) {
41
41
  const localization = await this.localizationServer.loadLocalization(nls_1.nls.locale);
42
42
  if (localization.languagePack) {
43
43
  nls_1.nls.localization = localization;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-preload-contribution.js","sourceRoot":"","sources":["../../../src/browser/preload/i18n-preload-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAGhF,kGAA4F;AAC5F,0CAAuC;AACvC,yCAA+C;AAC/C,+EAA2E;AAG3E,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAKhC,KAAK,CAAC,UAAU;QACZ,MAAM,aAAa,GAAG,wEAAiC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;QAC5E,IAAI,aAAa,IAAI,CAAC,SAAG,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,SAAG,EAAE;gBACf,MAAM,EAAE,aAAa;aACxB,CAAC,CAAC;SACN;QACD,IAAI,SAAG,CAAC,MAAM,EAAE;YACZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAG,CAAC,MAAM,CAAC,CAAC;YAChF,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC3B,SAAG,CAAC,YAAY,GAAG,YAAY,CAAC;aACnC;iBAAM;gBACH,uGAAuG;gBACvG,kDAAkD;gBAClD,MAAM,CAAC,MAAM,CAAC,SAAG,EAAE;oBACf,MAAM,EAAE,aAAa,IAAI,SAAS;iBACrC,CAAC,CAAC;aACN;SACJ;IACL,CAAC;CAEJ,CAAA;AAvBG;IADC,IAAA,kBAAM,EAAC,wCAAkB,CAAC;;mEAC+B;AAHjD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA0BnC;AA1BY,0DAAuB"}
1
+ {"version":3,"file":"i18n-preload-contribution.js","sourceRoot":"","sources":["../../../src/browser/preload/i18n-preload-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAGhF,kGAA4F;AAC5F,0CAAuC;AACvC,yCAA+C;AAC/C,+EAA2E;AAG3E,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAKhC,KAAK,CAAC,UAAU;QACZ,MAAM,aAAa,GAAG,wEAAiC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;QAC5E,IAAI,aAAa,IAAI,CAAC,SAAG,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,MAAM,CAAC,SAAG,EAAE;gBACf,MAAM,EAAE,aAAa;aACxB,CAAC,CAAC;SACN;QACD,IAAI,SAAG,CAAC,MAAM,IAAI,SAAG,CAAC,MAAM,KAAK,SAAG,CAAC,aAAa,EAAE;YAChD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAG,CAAC,MAAM,CAAC,CAAC;YAChF,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC3B,SAAG,CAAC,YAAY,GAAG,YAAY,CAAC;aACnC;iBAAM;gBACH,uGAAuG;gBACvG,kDAAkD;gBAClD,MAAM,CAAC,MAAM,CAAC,SAAG,EAAE;oBACf,MAAM,EAAE,aAAa,IAAI,SAAS;iBACrC,CAAC,CAAC;aACN;SACJ;IACL,CAAC;CAEJ,CAAA;AAvBG;IADC,IAAA,kBAAM,EAAC,wCAAkB,CAAC;;mEAC+B;AAHjD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA0BnC;AA1BY,0DAAuB"}
@@ -1933,7 +1933,7 @@ exports.ApplicationShell = ApplicationShell;
1933
1933
  (function (ApplicationShell) {
1934
1934
  ApplicationShell.areaLabels = {
1935
1935
  main: nls_1.nls.localizeByDefault('Main'),
1936
- top: nls_1.nls.localize('theia/shell-area/top', 'Top'),
1936
+ top: nls_1.nls.localizeByDefault('Top'),
1937
1937
  left: nls_1.nls.localizeByDefault('Left'),
1938
1938
  right: nls_1.nls.localizeByDefault('Right'),
1939
1939
  bottom: nls_1.nls.localizeByDefault('Bottom'),
@@ -1 +1 @@
1
- {"version":3,"file":"application-shell.js","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-shell.js","sourceRoot":"","sources":["../../../src/browser/shell/application-shell.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;;;;;AAEhF,yCAAwE;AACxE,mDAAoE;AACpE,+CAG2B;AAG3B,yCAA+H;AAC/H,wCAA4C;AAC5C,0CAAoF;AACpF,yDAA6F;AAC7F,yDAAkF;AAClF,6DAA4F;AAC5F,yCAAoH;AACpH,iDAA4E;AAC5E,8EAAgF;AAChF,uDAAgF;AAChF,gEAA2D;AAC3D,8CAA6C;AAC7C,wCAA0E;AAC1E,0DAAsD;AACtD,8EAAiF;AACjF,4DAAqD;AACrD,oEAA+D;AAC/D,0CAAuC;AACvC,0EAAqE;AACrE,0CAAmC;AACnC,sDAAkD;AAClD,sEAAkE;AAElE,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD,+DAA+D;AAC/D,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AACnD,sEAAsE;AACtE,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,mDAAmD;AACnD,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,qDAAqD;AACrD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAc7C;;GAEG;AACU,QAAA,6BAA6B,GAAkC,GAAG,CAAC;AAEnE,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC5D,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAK3E;;GAEG;AAEH,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAS1B,YACsD,qBAA4C,EAC5C,qBAA4C,EAC7C,oBAA0C,EACpC,0BAAsD,EACjE,eAAgC;QAJ1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7C,yBAAoB,GAApB,oBAAoB,CAAsB;QACpC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACjE,oBAAe,GAAf,eAAe,CAAiB;QATvE,kBAAa,GAAa,EAAE,CAAC;QAErB,6BAAwB,GAAG,IAAI,eAAO,EAAkB,CAAC;IAQtE,CAAC;IAEL,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,MAAM,oBAAoB,GAA+C,GAAG,EAAE;YAC1E,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,mCAAmC,CAAC,EAAE;gBAC/D,OAAO;oBACH,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,uCAAuC,CAAC;oBACjF,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,uCAAuC,CAAC;iBACpF,CAAC;aACL;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,6BAAkB,CACjC,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,0BAA0B,EAC/B;YACI,QAAQ;YACR,qBAAqB;YACrB,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;YACtD,gBAAgB,EAAE,IAAI;YACtB,mBAAmB,EAAE,CAAC;YACtB,eAAe,EAAE,IAAI;SACxB,EACD,oBAAoB,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,QAAQ,CAAC,eAAe,GAAG,oCAAyB,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE;YAC9C,IAAI,MAAM,CAAC,cAAc,KAAK,mCAAmC;gBAC7D,MAAM,CAAC,cAAc,KAAK,uCAAuC;gBACjE,MAAM,CAAC,cAAc,KAAK,uCAAuC,EAAE;gBACnE,MAAM,CAAC,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;aACrD;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY;QACR,OAAO,mBAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC;IAES,mBAAmB,CAAC,MAA0B,EAAE,EAAE,YAAY,EAAsC;QAC1G,IAAI,YAAY,IAAI,CAAC,EAAE;YACnB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAClC;IACL,CAAC;CACJ,CAAA;AArEG;IADC,IAAA,kBAAM,EAAC,iCAAc,CAAC,OAAO,CAAC;;2DAC6B;AAHnD,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;IAWJ,WAAA,IAAA,kBAAM,EAAC,gCAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,kBAAM,EAAC,uCAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,kBAAM,EAAC,sCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,kBAAM,EAAC,iDAA0B,CAAC,CAAA;IAClC,WAAA,IAAA,kBAAM,EAAC,kCAAe,CAAC,CAAA;+CAHiD,uCAAqB;GAXzF,iBAAiB,CAwE7B;AAxEY,8CAAiB;AAsF9B;;;GAGG;AAEH,IAAa,gBAAgB,wBAA7B,MAAa,gBAAiB,SAAQ,gBAAM;IAmFxC;;OAEG;IACH,YACgD,wBAAiD,EACnD,SAAwB,EACd,uBAA+C,EAC3D,oBAA0C,EACtB,uBAAwD,EACvE,UAAsD,EAAE,EACzD,eAAgC,EAC5B,mBAAwC,EACrC,sBAA8C;QAEjG,KAAK,CAAC,OAA0B,CAAC,CAAC;QAVU,6BAAwB,GAAxB,wBAAwB,CAAyB;QACnD,cAAS,GAAT,SAAS,CAAe;QACd,4BAAuB,GAAvB,uBAAuB,CAAwB;QAC3D,yBAAoB,GAApB,oBAAoB,CAAsB;QACtB,4BAAuB,GAAvB,uBAAuB,CAAiC;QAExE,oBAAe,GAAf,eAAe,CAAiB;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACrC,2BAAsB,GAAtB,sBAAsB,CAAwB;QA5DrG;;WAEG;QACgB,qBAAgB,GAAoB;YACnD,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,8BAAS,CAAC,cAAc,CAAC,SAAS;YAC7C,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE;SACnC,CAAC;QAEe,YAAO,GAAG,IAAI,sBAAY,EAAU,CAAC;QAUnC,0BAAqB,GAAG,IAAI,eAAO,EAAU,CAAC;QACxD,mBAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAKxC,6BAAwB,GAAG,IAAI,eAAO,EAAU,CAAC;QAC3D,sBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAK9C,mCAA8B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC5F,4BAAuB,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;QAE1D,oCAA+B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC7F,6BAAwB,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;QAE5D,oCAA+B,GAAG,IAAI,eAAO,EAAQ,CAAC;QAChE,6BAAwB,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;QAq3B5D,6BAAwB,GAAG,IAAI,6BAAoB,EAAE,CAAC;QA6NxD,sBAAiB,GAAG,IAAI,CAAC;QACzB,+BAA0B,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAzjCrE,sEAAsE;QACtE,IAAI,CAAC,OAAO,GAAG;YACX,WAAW,EAAE;gBACT,GAAG,kBAAgB,CAAC,eAAe,CAAC,WAAW;gBAC/C,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,EAAE;aAChC;YACD,SAAS,EAAE;gBACP,GAAG,kBAAgB,CAAC,eAAe,CAAC,SAAS;gBAC7C,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,EAAE;aAC9B;YACD,UAAU,EAAE;gBACR,GAAG,kBAAgB,CAAC,eAAe,CAAC,UAAU;gBAC9C,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,EAAE;aAC/B;SACJ,CAAC;IACN,CAAC;IA1DS,gBAAgB,CAAC,MAAc;QACrC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAIS,mBAAmB,CAAC,MAAc;QACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAeD,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAoCS,IAAI;QACV,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,oBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;gBAClD,IAAI,UAAU,CAAC,cAAc,KAAK,0BAA0B,EAAE;oBAC1D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iBACnD;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE;YAClD,IAAI,UAAU,CAAC,cAAc,KAAK,+BAA+B,EAAE;gBAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpB,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,eAAe;QACrB,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAE5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAExG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAES,4BAA4B;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACzG,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC/C,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC/C,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;IACN,CAAC;IAES,oBAAoB;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAU,cAAc,EAAE,KAAK,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAU,YAAY,EAAE,KAAK,CAAC,CAAC;QAClF,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrE,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAClC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,sBAAsB,EAAE,CAAC;QACzB,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAES,qBAAqB,CAAC,UAAkB;QAC9C,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAEkB,cAAc,CAAC,GAAY;QAC1C,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAEkB,aAAa,CAAC,GAAY;QACzC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,KAAY;QACpB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,KAAK,aAAa;gBACd,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;YACV,KAAK,YAAY;gBACb,IAAI,CAAC,UAAU,CAAC,KAAmB,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,MAAM,CAAC,KAAmB,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;SACb;IACL,CAAC;IAES,WAAW,CAAC,EAAE,QAAQ,EAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,EAAE;gBACzE,iFAAiF;gBACjF,IAAI,CAAC,SAAS,GAAG;oBACb,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;oBAC5B,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK;iBACxB,CAAC;aACL;SACJ;IACL,CAAC;IAES,UAAU,CAAC,KAAiB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;aAClC;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YACnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAEvE,gEAAgE;YAChE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;YAClE,MAAM,OAAO,GAAG,cAAc,IAAI,OAAO,IAAI,UAAU;mBAChD,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;YACtE,MAAM,QAAQ,GAAG,cAAc,IAAI,OAAO,IAAI,UAAU,GAAG,WAAW;mBAC/D,OAAO,IAAI,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACrF,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,SAAS,GAAG,YAAY;mBACzF,OAAO,IAAI,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC;YACtF,2CAA2C;YAC3C,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACtF,qDAAqD;gBACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC/E,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;aAC7B;iBAAM,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;gBACvC,sDAAsD;gBACtD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;aAC9B;YACD,2CAA2C;YAC3C,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACzF,sDAAsD;gBACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAChF,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9B;iBAAM,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE;gBACzC,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;aAC/B;YACD,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACjE,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACzE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;aAC/B;iBAAM,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE;gBAC3C,wDAAwD;gBACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;aAChC;SACJ;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACjD,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,2CAA2C;YAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC3D,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACjC;IACL,CAAC;IAES,MAAM,CAAC,KAAiB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAC9B,kDAAkD;gBAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE;oBACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;iBACpC;gBACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;iBACrC;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;oBAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAES,WAAW,CAAC,KAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAC3C;YACD,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE;oBAC/D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;iBACpC;gBACD,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE;oBACjE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;iBACrC;gBACD,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;oBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;IACL,CAAC;IAED;;OAEG;IACO,eAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACpC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;YACR,OAAO,EAAE,CAAC;SACb,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,GAAG,+BAAY,CAAC;QAC5B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAY,EAAE,EAAE;YACnC,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,IAAI,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;aACpD;QACL,CAAC,CAAC;QAEF,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;;YAC5C,IAAI,KAAK,CAAC,YAAY,EAAE;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,IAAI,kBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACrG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACzB;qBAAM,IAAI,CAAA,MAAA,KAAK,CAAC,YAAY,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,EAAE;oBAC7C,wDAAwD;oBACxD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAChD,IAAI,IAAI,CAAC,IAAI,EAAE;4BACX,MAAM,OAAO,GAAG,aAAG,CAAC,cAAc,CAAC;gCAC/B,MAAM,EAAE,MAAM;gCACd,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,SAAS,EAAE,EAAE;gCACb,KAAK,EAAE,EAAE;gCACT,QAAQ,EAAE,EAAE;6BACf,CAAC,CAAC;4BACH,OAAO,CAAC,OAAO,CAAC,CAAC;yBACpB;oBACL,CAAC,CAAC,CAAC;iBACN;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAChD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAiB,CAAC;YACnC,IAAI,EAAE,CAAC,EAAE,KAAK,+BAAY,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBACrE,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,CAAC;aAC/C;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,CAAY,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,YAAY,EAAE;gBAChB,CAAC,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;gBACnC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACvB;QACL,CAAC,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEtD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,8BAA8B,CAAC,IAAW;QACtC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,gCAAgC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC3C,CAAC;IAES,MAAM,CAAC,oBAAoB,CAAC,YAA0B;QAC5D,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,YAA0B,EAAE,IAAW;QAC/D,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACpD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACpC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;YACR,OAAO,EAAE,CAAC;SACb,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,GAAG,iCAAc,CAAC;QAC9B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1C,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;YACnD,oFAAoF;YACpF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,cAAc;QACpB,MAAM,QAAQ,GAAG,IAAI,eAAK,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,OAAiB,EAAE,OAAkB,EAAE,OAA2B;QACxF,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBAC7C,kBAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/C;YACD,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,OAAiB,EAAE,OAAkB,EAAE,OAAuC;QACtG,IAAI,QAAQ,GAAyB,EAAE,QAAQ,EAAE,oBAAU,CAAC,eAAe,GAAG,CAAC;QAC/E,IAAI,OAAO,EAAE;YACT,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;SAC1C;QACD,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;gBAC7C,oBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACO,YAAY;QAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAClC,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAC1C,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,oBAAU,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACzE,kBAAkB,CAAC,EAAE,GAAG,0BAA0B,CAAC;QAEnD,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAC/C,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACvF,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACT,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAC5C,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,oBAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3E,iBAAiB,CAAC,EAAE,GAAG,8BAA8B,CAAC;QAEtD,OAAO,IAAI,CAAC,eAAe,CACvB,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAClD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACT,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAC7C,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO;YACH,OAAO,EAAE,qCAA6B;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YACtC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE;YAC5C,WAAW,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBACrC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE;gBACrC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa;gBAClG,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;aACtC;YACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;YAChD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YAClD,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACN,CAAC;IAED,kEAAkE;IAClE,oBAAoB;QAChB,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAY,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,oEAAoE;IACpE,sBAAsB;QAClB,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAY,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACO,kBAAkB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,YAAY,oBAAU,IAAI,MAAM,CAAC,SAAS,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9C,OAAO,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;iBAC1C;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACO,yBAAyB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;SAC/E;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAuC;;QACvD,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;QACtG,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;SAC5C;QACD,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,gEAAgE;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3G,IAAI,WAAW,EAAE;YACb,IAAI,WAAW,CAAC,MAAM,EAAE;gBACpB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC1D;YACD,IAAI,WAAW,CAAC,IAAI,EAAE;gBAClB,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC;aAC1D;YACD,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;YACD,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC;YACrD,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;gBACpE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACrB,IAAI,WAAW,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE;wBACxB,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,sBAAY,EAAE,CAAC;wBACxC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC5B;gBACL,CAAC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACzC;QACD,yDAAyD;QACzD,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAC1C,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,0DAA0D;YAC1D,8CAA8C;YAC9C,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC;YACnD,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;gBAC9D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACrB,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;wBACpB,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,sBAAY,EAAE,CAAC;wBACxC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC5B;gBACL,CAAC,CAAC,CAAC;aACN;SACJ;QACD,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACO,kBAAkB,CAAC,IAAY;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,KAAK,OAAO,CAAC;QACvE,MAAM,OAAO,GAAyB;YAClC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACvE,eAAe,EAAE,IAAI,CAAC,WAAW;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACvC,2FAA2F;YAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,aAAa;YACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa;YACzC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa;YAC1C,8DAA8D;SACjE,CAAiB,CAAC;IACvB,CAAC;IAED;;OAEG;IACO,wBAAwB,CAAC,IAA2F;QAC1H,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC/B,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBACtB;iBACJ;aACJ;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;gBACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC/B,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;iBACxC;aACJ;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE;gBAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;wBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B;iBACJ;aACJ;SACJ;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,OAAkD;QAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO;SACV;QACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAA4B,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QAC1E,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,KAAK;gBACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC3D,MAAM;YACV,KAAK,iBAAiB;gBAClB,+HAA+H;gBAC/H,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC9E;gBACI,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,CAAC,CAAC;SAC5D;QACD,IAAI,IAAI,KAAK,KAAK,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACtB;IACL,CAAC;IAED,mBAAmB,CAAC,OAAkD;QAClE,IAAI,GAAG,GAAuB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;QAC3C,IAAI,IAAI,GAA0B,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,MAAM,CAAC;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,SAAS,CAAC;SACjF;QACD,qCAAqC;QACrC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC3C,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,IAAI,kBAAgB,CAAC,gBAAgB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,EAAE;YAClD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,MAAM,OAAO,GAAG,SAAS,IAAI,GAAG,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,CAAC;gBACnE,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,OAAO,EAAE;gBACT,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC;aAC5B;iBAAM;gBACH,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;gBACrB,UAAU,CAAC,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;aACrF;SACJ;aAAM;YACH,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;YACrB,UAAU,CAAC,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;SACnC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA2B;QAClC,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,KAAK,KAAK;gBACN,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,QAAQ;gBACT,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM;gBACP,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,KAAK,OAAO;gBACR,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,KAAK,iBAAiB;gBAClB,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACxD;gBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,OAAoB;QACrC,IAAI,UAAU,GAAuB,OAAO,CAAC;QAC7C,OAAO,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC7D,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;SACzC;QACD,IAAI,UAAU,EAAE;YACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnD;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,iBAAiB,CAAC,UAAuB,EAAE,MAAc;QAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,MAA0B,CAAC;QAC/B,IAAA,gBAAI,EAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE;YAC5B,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAsB,EAAE,KAAa;QAC3C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,aAAY,WAAW,EAAE;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAE7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;iBACnF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAE/C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACnB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACpC;SAEJ;QACD,OAAO,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa;QACpB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,aAAY,WAAW,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,MAAM,YAAY,gBAAM,EAAE;gBAC1B,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAa;QAC5B,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;SAC/B;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAA2B;QACxC,IAAI,KAAuC,CAAC;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBACpC,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBACtC,MAAM;YACV,KAAK,MAAM;gBACP,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC;gBAClD,MAAM;YACV,KAAK,OAAO;gBACR,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnD,MAAM;YACV,KAAK,iBAAiB;gBAClB,2DAA2D;gBAC3D,OAAO,SAAS,CAAC;YACrB;gBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;SACpD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAA4B,EAAE,IAAuC;QAC1F,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAID;;OAEG;IACK,eAAe,CAAC,MAA4B,EAAE,IAAuC;QACzF,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,GAAkB,QAAQ,CAAC;YAChC,OAAO,CAAC,EAAE;gBACN,kDAAkD;gBAClD,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;gBACvE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aAChB;YACD,mCAAmC;YACnC,2CAA2C;YAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACvC;QACD,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,GAAkB,QAAQ,CAAC;YAChC,OAAO,CAAC,EAAE;gBACN,oCAAoC;gBACpC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,mBAAmB,CAAC;gBACzC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aAChB;YACD,uDAAuD;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,YAAY,2BAAgB,EAAE;gBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,KAAK,IAAI,CAAC,EAAE;oBACZ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC3B;aACJ;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACP,uEAAuE;gBACvE,KAAK,CAAC,aAAa,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC;aACtC;YACD,6EAA6E;YAC7E,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,kDAAkD,EAAE;gBAChF,4GAA4G;gBAC5G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtC;YAED,6DAA6D;YAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,EAAE;gBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBACzC,IAAI,aAAa,EAAE;oBACf,MAAM,oBAAoB,GAAG,aAAa,CAAC,gBAAgB,CAAmC,CAAC;oBAC/F,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,KAAK,KAAK,QAAQ,EAAE;wBACjE,aAAa,CAAC,YAAY,GAAG,oBAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;wBAC/F,IAAI,aAAa,CAAC,YAAY,EAAE;4BAC5B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;yBAC5D;qBACJ;yBAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE;wBACrD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE;4BAC7C,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;yBAC1C;qBACJ;iBACJ;gBACD,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC;gBAC5C,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;YACzG,IAAI,sCAAiB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAChC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;aAC1B;SACJ;QACD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,OAAoB,EAAE,CAAgB;QACpD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,MAAc;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7C,OAAO;SACV;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,mBAAQ,CAAC,KAAK,CACV,MAAM,EACN,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAA4C,EAAE,CAAC,CAAC,CAAC,mBAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EACrH,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CACtE,CAAC;QACF,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YACrD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,EAAE;gBAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACvB;YACD,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,MAAM,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtF;SACJ;IACL,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,EAAU;QAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,CAAC,CAAC;QACtG,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,OAAO,OAAO,EAAE;YACZ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACzB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvB;YACD,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;SACzC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC/C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC3B,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE;gBAChF,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACH,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,OAAO,GAAG,KAAK,CAAC;aACnB;SACJ;QACD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,IAAA,yBAAe,EAAC,OAAO,CAAC;YACxB,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,EAAU;QACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;YAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,MAAM,UAAU,GAAG,IAAI,uBAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE;YAC9C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;gBAClD,UAAU,CAAC,OAAO,EAAE,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QAC3I,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,EAAU;QACjC,IAAI,MAAM,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,MAAc;QAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAY,EAAE,EAAE;YAC3C,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAIO,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAE1C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAErG,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAyB,SAAS,CAAC,EAAE;YAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;YAC9D,IAAI,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACtD,OAAO;aACV;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,KAAK,GAAG,SAAS,CAAC;aACrB;YACD,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;YAChC,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;gBAChC,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aAChD;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,wDAAwD,IAAI,CAAC,iBAAiB,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;aAClH;QACL,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAC3B,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE;gBAC9E,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC5C;iBAAM;gBACH,OAAO,GAAG,KAAK,CAAC;aACnB;SACJ;QACD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAA,yBAAe,EAAC,OAAO,CAAC;YACxB,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,EAAU;QAC/B,IAAI,MAAM,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC5B;SACJ;QACD,IAAI,MAAM,EAAE;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;aACtC;YACD,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAA2B;QACnC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;SAC3D;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,IAA2B;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC9C;qBAAM;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBACjC;gBACD,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;SAC1D;IACL,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,IAAI,aAAmC,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,IAAI,MAAM,YAAY,oBAAU,EAAE;gBAC9B,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;aAC1C;YACD,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,aAAa,IAAI,MAAM,YAAY,oBAAU,EAAE;gBAC/C,8EAA8E;gBAC9E,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAC1C;YAED,IAAI,IAAwB,CAAC;YAC7B,IAAI,WAAW,CAAC,OAAO,EAAE;gBACrB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;aAC7C;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBAC5C,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;aAC9C;iBAAM;gBACH,IAAI,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAC3C;YACD,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,SAAS,CAAC;gBACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACpC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,SAAS,EAAE;wBACxE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;qBACvE;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;aACvE;SACJ;IACL,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAA2B;QACrC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5C,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC7C;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;SAC5D;IACL,CAAC;IAED;;;OAGG;IACO,mBAAmB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,EAAE;YACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,EAAE;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;aAC9C;SACJ;QACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,8BAAS,CAAC,cAAc,CAAC,SAAS,CAAC;QACrE,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,IAAA,wBAAc,GAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,8BAA8B;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SACxD;aAAM;YACH,MAAM,KAAK,GAAG,SAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,qBAAqB,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAmB;gBAC5B,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,+BAAkB,CAAC,KAAK;gBACnC,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,0BAA0B;gBACnC,wBAAwB,EAAE;oBACtB,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE,CAAC,IAAI;aAClB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;SAC9D;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA2B;QAClC,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACjF,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACvF,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,KAAK,8BAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;YACxF;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,YAAoD,EAChE,MAAyD;QACzD,MAAM,MAAM,GAAyB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,QAAQ,CAAC,YAAoD,EACzD,MAAyD;QAEzD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/B,MAAM,QAAQ,GAAG,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAC;SACpB;IACL,CAAC;IAED;;;;;;OAMG;IACO,eAAe,CAAC,YAAoD,EAC1E,MAAyD;QAEzD,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI,YAAY,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClF;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpF;aAAM,IAAI,YAAY,KAAK,iBAAiB,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SACzE;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1C;SACJ;aAAM,IAAI,YAAY,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;SAChD;QAED,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAiB,EAAE,OAAuC;QACtE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,KAAK,IAAI,MAAM,mBAAQ,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrI,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;SACtJ;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,OAAuC;QACjE,mFAAmF;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,YAAY,GAAG,yBAAc,CAAC,EAAE,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC;YAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,YAAY;YACZ,IAAI,CAAC,cAAc;SACtB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACzC;IACL,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAA8B;QACrC,IAAI,KAAK,YAAY,gBAAM,EAAE;YACzB,IAAI,IAAA,gBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACpD,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,IAAA,gBAAI,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACtD,OAAO,QAAQ,CAAC;aACnB;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACxC,OAAO,MAAM,CAAC;aACjB;YACD,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzC,OAAO,OAAO,CAAC;aAClB;SACJ;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,eAAe,EAAE;YACjB,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACxE,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,OAAO,OAAO,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtD,OAAO,iBAAiB,CAAC;SAC5B;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,eAAe,CAAC,KAAa;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,MAA0B;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,eAAe,EAAE;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC;SACzB;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC;SAC3B;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;SAC1C;QACD,IAAI,oBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAC3C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;SAC3C;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,YAA4C;QACrD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YAClC,QAAQ,YAAY,EAAE;gBAClB,KAAK,MAAM;oBACP,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACxC,KAAK,QAAQ;oBACT,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC1C,KAAK,MAAM;oBACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACxC,KAAK,OAAO;oBACR,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACzC,KAAK,iBAAiB;oBAClB,yCAAyC;oBACzC,OAAO,SAAS,CAAC;gBACrB;oBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,YAAY,CAAC,CAAC;aAC5D;SACJ;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE;YACjB,OAAO,eAAe,CAAC;SAC1B;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,iBAAiB,EAAE;YACnB,OAAO,iBAAiB,CAAC;SAC5B;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACrD,IAAI,oBAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YACjE,OAAO,eAAe,CAAC;SAC1B;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACvD,IAAI,oBAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;YAClE,OAAO,gBAAgB,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,eAAe;QACf,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7H,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB,CAAC,UAAsC,IAAI,CAAC,aAAa;QACzE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACb;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,OAAO,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,OAAO,EAAE;YACT,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACX,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1B,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACtD;oBACD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAC3C;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB,CAAC,UAAsC,IAAI,CAAC,aAAa;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtD;YACD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC/D,IAAI,IAAI,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,IAAI,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YAClB,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,EAAE;YAClC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;aAAM;YACH,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,UAAsC,IAAI,CAAC,aAAa;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC7E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACb;QACD,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,OAAO,KAAK,GAAG,CAAC,CAAC;SACpB;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,OAAO,EAAE;YACT,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACX,IAAI,EAAE,GAAG,CAAC,EAAE;oBACR,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC1B,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACtD;oBACD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,EAAE,KAAK,CAAC,EAAE;oBACjB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;wBACjD,IAAI,OAAO,CAAC,YAAY,EAAE;4BACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;yBACtD;wBACD,OAAO,IAAI,CAAC;qBACf;oBACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,sBAAsB,CAAC,UAAsC,IAAI,CAAC,aAAa;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,UAAsC,IAAI,CAAC,aAAa;QACnE,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,GAAG,oBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,EAAE;YACR,OAAO,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,EAAE,KAAK,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SACxB;aAAM;YACH,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAqB;QAC5B,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAqB;QAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,IAAI,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;gBACnD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACxD;SACJ;IACL,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,EAAU;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACvC,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;gBAClB,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,SAA6B,IAAI,CAAC,aAAa;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC;IAChD,CAAC;IAED,eAAe,CAAC,SAA6B,IAAI,CAAC,aAAa;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,YAAY,iCAAc,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE;YAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;SACjC;IACL,CAAC;CAEJ,CAAA;AAz0DG;IADC,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;2DAC8B;AAGxD;IADC,IAAA,kBAAM,EAAC,8BAAa,CAAC;;uDAC0B;AAwBhD;IADC,IAAA,kBAAM,EAAC,iCAAc,CAAC,OAAO,CAAC;;0DAC6B;AAyC5D;IADC,IAAA,yBAAa,GAAE;;;;4CAwBf;AA5IQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;IAwFJ,WAAA,IAAA,kBAAM,EAAC,gCAAwB,CAAC,CAAA;IAChC,WAAA,IAAA,kBAAM,EAAC,0BAAa,CAAC,CAAA;IACrB,WAAA,IAAA,kBAAM,EAAC,4CAAuB,CAAC,CAAA;IAC/B,WAAA,IAAA,kBAAM,EAAC,mCAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,kBAAM,EAAC,4DAA+B,CAAC,CAAA;IACvC,WAAA,IAAA,kBAAM,EAAC,+BAAuB,CAAC,CAAA;IAAE,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAC3C,WAAA,IAAA,kBAAM,EAAC,kCAAe,CAAC,CAAA;IACvB,WAAA,IAAA,kBAAM,EAAC,2CAAmB,CAAC,CAAA;IAC3B,WAAA,IAAA,kBAAM,EAAC,iDAAsB,CAAC,CAAA;+CAPsB,0BAAa,YAEJ,mCAAoB;QACG,4DAA+B,kBAG/C,2CAAmB;QACb,iDAAsB;GA/F5F,gBAAgB,CA03D5B;AA13DY,4CAAgB;AA43D7B;;GAEG;AACH,WAAiB,gBAAgB;IAMhB,2BAAU,GAAyB;QAC5C,IAAI,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACnC,GAAG,EAAE,SAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACjC,IAAI,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE,SAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,SAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,kBAAkB,CAAC;KAClF,CAAC;IAEF;;;OAGG;IACH,SAAgB,UAAU,CAAC,IAAa;QACpC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC;IACpE,CAAC;IAFe,2BAAU,aAEzB,CAAA;IAED,SAAgB,WAAW,CAAC,IAAc;QACtC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC5E,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAHe,4BAAW,cAG1B,CAAA;IAeD;;OAEG;IACU,gCAAe,GAAG,MAAM,CAAC,MAAM,CAAU;QAClD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAqB;YAC3C,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAoB;YACxC,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;QACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAoB;YACzC,SAAS,EAAE,GAAG;YACd,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;KACL,CAAC,CAAC;IAOH,SAAgB,gBAAgB,CAAC,IAAa;QAC1C,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe,CAAC;IAC/D,CAAC;IAFe,iCAAgB,mBAE/B,CAAA;IA2ED,IAAiB,uBAAuB,CAIvC;IAJD,WAAiB,uBAAuB;QACpC,SAAgB,EAAE,CAAC,MAAe;YAC9B,OAAO,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,qBAAqB,IAAI,MAAM,CAAC;QAC/D,CAAC;QAFe,0BAAE,KAEjB,CAAA;IACL,CAAC,EAJgB,uBAAuB,GAAvB,wCAAuB,KAAvB,wCAAuB,QAIvC;AAEL,CAAC,EAzJgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAyJhC;AAxhEY,4CAAgB"}
@@ -21,6 +21,7 @@ export declare class CompressedTreeWidget extends TreeViewWelcomeWidget {
21
21
  constructor(props: TreeProps, model: CompressedTreeModel, contextMenuRenderer: ContextMenuRenderer);
22
22
  protected rows: Map<string, CompressedNodeRow>;
23
23
  toggleCompression(newCompression?: boolean): void;
24
+ protected shouldRenderIndent(node: TreeNode): boolean;
24
25
  protected shouldDisplayNode(node: TreeNode): boolean;
25
26
  protected getDepthForNode(node: TreeNode, depths: Map<CompositeTreeNode | undefined, number>): number;
26
27
  protected toNodeRow(node: TreeNode, index: number, depth: number): CompressedNodeRow;
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-tree-widget.d.ts","sourceRoot":"","sources":["../../../../src/browser/tree/tree-compression/compressed-tree-widget.tsx"],"names":[],"mappings":"AAgBA,OAAO,oEAAoE,CAAC;AAE5E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,OAAO,EAAE,kBAAkB;CAAI;AAErF,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,kBAAkB;CAAI;AAE9E,qBACa,oBAAqB,SAAQ,qBAAqB;aAOR,KAAK,EAAE,mBAAmB;IALlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;gBAGvE,KAAK,EAAE,SAAS,EACY,KAAK,EAAE,mBAAmB,EAC5C,mBAAmB,EAAE,mBAAmB;IAKzE,UAAmB,IAAI,iCAAwC;IAE/D,iBAAiB,CAAC,cAAc,UAAmC,GAAG,IAAI;cAOvD,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;cAO1C,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,GAAG,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM;cAO3F,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB;cAS1E,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;cAQtF,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO;cAOlE,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;cAKtH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,SAAS;IAmBlG,SAAS,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC;cAQzH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;cAOpC,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;cAOhC,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;cAiB/C,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,SAAS;CAG7F"}
1
+ {"version":3,"file":"compressed-tree-widget.d.ts","sourceRoot":"","sources":["../../../../src/browser/tree/tree-compression/compressed-tree-widget.tsx"],"names":[],"mappings":"AAgBA,OAAO,oEAAoE,CAAC;AAE5E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,OAAO,EAAE,kBAAkB;CAAI;AAErF,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,kBAAkB;CAAI;AAE9E,qBACa,oBAAqB,SAAQ,qBAAqB;aAOR,KAAK,EAAE,mBAAmB;IALlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;gBAGvE,KAAK,EAAE,SAAS,EACY,KAAK,EAAE,mBAAmB,EAC5C,mBAAmB,EAAE,mBAAmB;IAKzE,UAAmB,IAAI,iCAAwC;IAE/D,iBAAiB,CAAC,cAAc,UAAmC,GAAG,IAAI;cAOvD,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;cAM3C,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;cAO1C,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,GAAG,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM;cAS3F,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB;cAW1E,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS;cAQtF,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO;cAOlE,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;cAKtH,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,SAAS;IAqBlG,SAAS,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC;cAQzH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;cASpC,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;cAShC,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;cAmB/C,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,SAAS;CAG7F"}