basalt-core 0.0.0-rc5

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 (325) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cli/basalt.d.ts +3 -0
  3. package/dist/cli/basalt.d.ts.map +1 -0
  4. package/dist/cli/basalt.js +47 -0
  5. package/dist/cli/basalt.js.map +1 -0
  6. package/dist/cli/bundle-cli.d.ts +12 -0
  7. package/dist/cli/bundle-cli.d.ts.map +1 -0
  8. package/dist/cli/bundle-cli.js +124 -0
  9. package/dist/cli/bundle-cli.js.map +1 -0
  10. package/dist/cli/bundleWithAssets.d.ts +79 -0
  11. package/dist/cli/bundleWithAssets.d.ts.map +1 -0
  12. package/dist/cli/bundleWithAssets.js +198 -0
  13. package/dist/cli/bundleWithAssets.js.map +1 -0
  14. package/dist/cli/desktop.d.ts +339 -0
  15. package/dist/cli/desktop.d.ts.map +1 -0
  16. package/dist/cli/desktop.js +1029 -0
  17. package/dist/cli/desktop.js.map +1 -0
  18. package/dist/cli/doctor.d.ts +31 -0
  19. package/dist/cli/doctor.d.ts.map +1 -0
  20. package/dist/cli/doctor.js +283 -0
  21. package/dist/cli/doctor.js.map +1 -0
  22. package/dist/cli/init.d.ts +77 -0
  23. package/dist/cli/init.d.ts.map +1 -0
  24. package/dist/cli/init.js +442 -0
  25. package/dist/cli/init.js.map +1 -0
  26. package/dist/cli/metro.d.ts +49 -0
  27. package/dist/cli/metro.d.ts.map +1 -0
  28. package/dist/cli/metro.js +148 -0
  29. package/dist/cli/metro.js.map +1 -0
  30. package/dist/cli/packageApp.d.ts +102 -0
  31. package/dist/cli/packageApp.d.ts.map +1 -0
  32. package/dist/cli/packageApp.js +319 -0
  33. package/dist/cli/packageApp.js.map +1 -0
  34. package/dist/cli/steps.d.ts +34 -0
  35. package/dist/cli/steps.d.ts.map +1 -0
  36. package/dist/cli/steps.js +53 -0
  37. package/dist/cli/steps.js.map +1 -0
  38. package/dist/metro-config.d.ts +168 -0
  39. package/dist/metro-config.d.ts.map +1 -0
  40. package/dist/metro-config.js +671 -0
  41. package/dist/metro-config.js.map +1 -0
  42. package/dist/react-native.config.d.ts +7 -0
  43. package/dist/react-native.config.d.ts.map +1 -0
  44. package/dist/react-native.config.js +80 -0
  45. package/dist/react-native.config.js.map +1 -0
  46. package/dist/src/DragSource.d.ts +52 -0
  47. package/dist/src/DragSource.d.ts.map +1 -0
  48. package/dist/src/DragSource.js +97 -0
  49. package/dist/src/DragSource.js.map +1 -0
  50. package/dist/src/DropTarget.d.ts +58 -0
  51. package/dist/src/DropTarget.d.ts.map +1 -0
  52. package/dist/src/DropTarget.js +131 -0
  53. package/dist/src/DropTarget.js.map +1 -0
  54. package/dist/src/KeyHandler.d.ts +57 -0
  55. package/dist/src/KeyHandler.d.ts.map +1 -0
  56. package/dist/src/KeyHandler.js +48 -0
  57. package/dist/src/KeyHandler.js.map +1 -0
  58. package/dist/src/Menu.d.ts +72 -0
  59. package/dist/src/Menu.d.ts.map +1 -0
  60. package/dist/src/Menu.js +179 -0
  61. package/dist/src/Menu.js.map +1 -0
  62. package/dist/src/TitleBar.d.ts +75 -0
  63. package/dist/src/TitleBar.d.ts.map +1 -0
  64. package/dist/src/TitleBar.js +236 -0
  65. package/dist/src/TitleBar.js.map +1 -0
  66. package/dist/src/Window.d.ts +87 -0
  67. package/dist/src/Window.d.ts.map +1 -0
  68. package/dist/src/Window.js +248 -0
  69. package/dist/src/Window.js.map +1 -0
  70. package/dist/src/closeRequest.d.ts +55 -0
  71. package/dist/src/closeRequest.d.ts.map +1 -0
  72. package/dist/src/closeRequest.js +134 -0
  73. package/dist/src/closeRequest.js.map +1 -0
  74. package/dist/src/index.d.ts +45 -0
  75. package/dist/src/index.d.ts.map +1 -0
  76. package/dist/src/index.js +92 -0
  77. package/dist/src/index.js.map +1 -0
  78. package/dist/src/overrides/Alert.d.ts +69 -0
  79. package/dist/src/overrides/Alert.d.ts.map +1 -0
  80. package/dist/src/overrides/Alert.js +112 -0
  81. package/dist/src/overrides/Alert.js.map +1 -0
  82. package/dist/src/overrides/BaseViewConfig.d.ts +28 -0
  83. package/dist/src/overrides/BaseViewConfig.d.ts.map +1 -0
  84. package/dist/src/overrides/BaseViewConfig.js +72 -0
  85. package/dist/src/overrides/BaseViewConfig.js.map +1 -0
  86. package/dist/src/overrides/Platform.linux.d.ts +10 -0
  87. package/dist/src/overrides/Platform.linux.d.ts.map +1 -0
  88. package/dist/src/overrides/Platform.linux.js +15 -0
  89. package/dist/src/overrides/Platform.linux.js.map +1 -0
  90. package/dist/src/overrides/Platform.macos.d.ts +10 -0
  91. package/dist/src/overrides/Platform.macos.d.ts.map +1 -0
  92. package/dist/src/overrides/Platform.macos.js +15 -0
  93. package/dist/src/overrides/Platform.macos.js.map +1 -0
  94. package/dist/src/overrides/Platform.windows.d.ts +10 -0
  95. package/dist/src/overrides/Platform.windows.d.ts.map +1 -0
  96. package/dist/src/overrides/Platform.windows.js +15 -0
  97. package/dist/src/overrides/Platform.windows.js.map +1 -0
  98. package/dist/src/overrides/ReactDevToolsSettingsManager.d.ts +24 -0
  99. package/dist/src/overrides/ReactDevToolsSettingsManager.d.ts.map +1 -0
  100. package/dist/src/overrides/ReactDevToolsSettingsManager.js +30 -0
  101. package/dist/src/overrides/ReactDevToolsSettingsManager.js.map +1 -0
  102. package/dist/src/overrides/RefreshControl.d.ts +52 -0
  103. package/dist/src/overrides/RefreshControl.d.ts.map +1 -0
  104. package/dist/src/overrides/RefreshControl.js +92 -0
  105. package/dist/src/overrides/RefreshControl.js.map +1 -0
  106. package/dist/src/overrides/ScrollView.d.ts +39 -0
  107. package/dist/src/overrides/ScrollView.d.ts.map +1 -0
  108. package/dist/src/overrides/ScrollView.js +59 -0
  109. package/dist/src/overrides/ScrollView.js.map +1 -0
  110. package/dist/src/overrides/Share.d.ts +96 -0
  111. package/dist/src/overrides/Share.d.ts.map +1 -0
  112. package/dist/src/overrides/Share.js +97 -0
  113. package/dist/src/overrides/Share.js.map +1 -0
  114. package/dist/src/overrides/TextInput.d.ts +81 -0
  115. package/dist/src/overrides/TextInput.d.ts.map +1 -0
  116. package/dist/src/overrides/TextInput.js +213 -0
  117. package/dist/src/overrides/TextInput.js.map +1 -0
  118. package/dist/src/overrides/View.d.ts +36 -0
  119. package/dist/src/overrides/View.d.ts.map +1 -0
  120. package/dist/src/overrides/View.js +99 -0
  121. package/dist/src/overrides/View.js.map +1 -0
  122. package/dist/src/overrides/createPlatform.d.ts +32 -0
  123. package/dist/src/overrides/createPlatform.d.ts.map +1 -0
  124. package/dist/src/overrides/createPlatform.js +84 -0
  125. package/dist/src/overrides/createPlatform.js.map +1 -0
  126. package/dist/src/overrides/setUpDeveloperTools.d.ts +28 -0
  127. package/dist/src/overrides/setUpDeveloperTools.d.ts.map +1 -0
  128. package/dist/src/overrides/setUpDeveloperTools.js +84 -0
  129. package/dist/src/overrides/setUpDeveloperTools.js.map +1 -0
  130. package/dist/src/overrides/setUpXHR.d.ts +46 -0
  131. package/dist/src/overrides/setUpXHR.d.ts.map +1 -0
  132. package/dist/src/overrides/setUpXHR.js +236 -0
  133. package/dist/src/overrides/setUpXHR.js.map +1 -0
  134. package/dist/src/quitRequest.d.ts +55 -0
  135. package/dist/src/quitRequest.d.ts.map +1 -0
  136. package/dist/src/quitRequest.js +121 -0
  137. package/dist/src/quitRequest.js.map +1 -0
  138. package/dist/src/resourcePath.d.ts +18 -0
  139. package/dist/src/resourcePath.d.ts.map +1 -0
  140. package/dist/src/resourcePath.js +31 -0
  141. package/dist/src/resourcePath.js.map +1 -0
  142. package/dist/src/responseBody.d.ts +76 -0
  143. package/dist/src/responseBody.d.ts.map +1 -0
  144. package/dist/src/responseBody.js +94 -0
  145. package/dist/src/responseBody.js.map +1 -0
  146. package/dist/src/responseHeaders.d.ts +40 -0
  147. package/dist/src/responseHeaders.d.ts.map +1 -0
  148. package/dist/src/responseHeaders.js +75 -0
  149. package/dist/src/responseHeaders.js.map +1 -0
  150. package/dist/src/titleBarState.d.ts +43 -0
  151. package/dist/src/titleBarState.d.ts.map +1 -0
  152. package/dist/src/titleBarState.js +77 -0
  153. package/dist/src/titleBarState.js.map +1 -0
  154. package/dist/src/useContextMenu.d.ts +113 -0
  155. package/dist/src/useContextMenu.d.ts.map +1 -0
  156. package/dist/src/useContextMenu.js +109 -0
  157. package/dist/src/useContextMenu.js.map +1 -0
  158. package/dist/src/useDialog.d.ts +98 -0
  159. package/dist/src/useDialog.d.ts.map +1 -0
  160. package/dist/src/useDialog.js +112 -0
  161. package/dist/src/useDialog.js.map +1 -0
  162. package/dist/src/useDisplays.d.ts +70 -0
  163. package/dist/src/useDisplays.d.ts.map +1 -0
  164. package/dist/src/useDisplays.js +118 -0
  165. package/dist/src/useDisplays.js.map +1 -0
  166. package/dist/src/useHandledKeys.d.ts +38 -0
  167. package/dist/src/useHandledKeys.d.ts.map +1 -0
  168. package/dist/src/useHandledKeys.js +70 -0
  169. package/dist/src/useHandledKeys.js.map +1 -0
  170. package/dist/src/useWindow.d.ts +140 -0
  171. package/dist/src/useWindow.d.ts.map +1 -0
  172. package/dist/src/useWindow.js +233 -0
  173. package/dist/src/useWindow.js.map +1 -0
  174. package/dist/tsconfig.tsbuildinfo +1 -0
  175. package/native/CMakeLists.txt +355 -0
  176. package/native/bootstrap.sh +613 -0
  177. package/native/cmake/CompilerFlags.cmake +49 -0
  178. package/native/cmake/Expo.cmake +125 -0
  179. package/native/cmake/ReactNativeCore.cmake +612 -0
  180. package/native/cmake/Reanimated.cmake +108 -0
  181. package/native/cmake/Skia.cmake +379 -0
  182. package/native/cmake/ThirdParty.cmake +290 -0
  183. package/native/cmake/Worklets.cmake +67 -0
  184. package/native/cmake/codegen/CMakeLists.txt +32 -0
  185. package/native/core/AppIdentity.cpp +85 -0
  186. package/native/core/AppIdentity.h +59 -0
  187. package/native/core/AppPaths.cpp +96 -0
  188. package/native/core/AppPaths.h +53 -0
  189. package/native/core/AppearanceModule.cpp +60 -0
  190. package/native/core/AppearanceModule.h +40 -0
  191. package/native/core/Backface.h +59 -0
  192. package/native/core/BlobModule.cpp +283 -0
  193. package/native/core/BlobModule.h +76 -0
  194. package/native/core/BlobRegistry.cpp +75 -0
  195. package/native/core/BlobRegistry.h +44 -0
  196. package/native/core/ColorScheme.cpp +105 -0
  197. package/native/core/ColorScheme.h +59 -0
  198. package/native/core/ComponentRegistry.h +30 -0
  199. package/native/core/ControlMetrics.h +37 -0
  200. package/native/core/CoreModules.cpp +592 -0
  201. package/native/core/CoreModules.h +308 -0
  202. package/native/core/DebuggingOverlay.cpp +106 -0
  203. package/native/core/DebuggingOverlay.h +65 -0
  204. package/native/core/DesktopControls.cpp +232 -0
  205. package/native/core/DesktopControls.h +170 -0
  206. package/native/core/DevBundle.cpp +108 -0
  207. package/native/core/DevBundle.h +69 -0
  208. package/native/core/DevMenu.cpp +99 -0
  209. package/native/core/DevMenu.h +75 -0
  210. package/native/core/DialogModule.cpp +150 -0
  211. package/native/core/DialogModule.h +51 -0
  212. package/native/core/DragAndDrop.cpp +45 -0
  213. package/native/core/DragAndDrop.h +225 -0
  214. package/native/core/ExpoImageComponent.cpp +79 -0
  215. package/native/core/ExpoImageComponent.h +80 -0
  216. package/native/core/ExpoModules.cpp +415 -0
  217. package/native/core/ExpoModules.h +115 -0
  218. package/native/core/ExpoRuntime.cpp +366 -0
  219. package/native/core/ExpoRuntime.h +42 -0
  220. package/native/core/FocusRing.h +36 -0
  221. package/native/core/FontRegistry.h +51 -0
  222. package/native/core/GestureHandlerModule.cpp +136 -0
  223. package/native/core/GestureHandlerModule.h +71 -0
  224. package/native/core/Gestures.cpp +533 -0
  225. package/native/core/Gestures.h +145 -0
  226. package/native/core/HoverTracker.cpp +69 -0
  227. package/native/core/HoverTracker.h +109 -0
  228. package/native/core/HttpClient.cpp +282 -0
  229. package/native/core/ImageBytes.cpp +205 -0
  230. package/native/core/ImageBytes.h +29 -0
  231. package/native/core/ImageCache.cpp +51 -0
  232. package/native/core/ImageCache.h +89 -0
  233. package/native/core/JsRuntimeAccess.cpp +70 -0
  234. package/native/core/JsRuntimeAccess.h +60 -0
  235. package/native/core/JsiPromise.h +51 -0
  236. package/native/core/KeyEvents.cpp +116 -0
  237. package/native/core/KeyEvents.h +144 -0
  238. package/native/core/LogBoxSurface.cpp +46 -0
  239. package/native/core/LogBoxSurface.h +68 -0
  240. package/native/core/MenuModel.h +117 -0
  241. package/native/core/MenuModule.cpp +209 -0
  242. package/native/core/MenuModule.h +66 -0
  243. package/native/core/MountingWalk.h +524 -0
  244. package/native/core/PackageModules.cpp.in +25 -0
  245. package/native/core/PackageModules.h +50 -0
  246. package/native/core/PlatformConstantsModule.cpp +63 -0
  247. package/native/core/PlatformConstantsModule.h +64 -0
  248. package/native/core/PlatformServices.h +213 -0
  249. package/native/core/PointerButtons.h +63 -0
  250. package/native/core/PullToRefresh.cpp +57 -0
  251. package/native/core/PullToRefresh.h +73 -0
  252. package/native/core/ReanimatedCompat.h +47 -0
  253. package/native/core/ReanimatedModule.cpp +203 -0
  254. package/native/core/ReanimatedModule.h +55 -0
  255. package/native/core/ScrollAnimation.cpp +59 -0
  256. package/native/core/ScrollAnimation.h +70 -0
  257. package/native/core/ScrollBounds.cpp +26 -0
  258. package/native/core/ScrollBounds.h +68 -0
  259. package/native/core/ScrollIndicator.cpp +50 -0
  260. package/native/core/ScrollIndicator.h +69 -0
  261. package/native/core/ScrollMomentum.cpp +71 -0
  262. package/native/core/ScrollMomentum.h +73 -0
  263. package/native/core/ScrollSnap.cpp +123 -0
  264. package/native/core/ScrollSnap.h +80 -0
  265. package/native/core/ShareFallback.cpp +101 -0
  266. package/native/core/ShareFallback.h +45 -0
  267. package/native/core/SkiaPictureViewComponent.cpp +11 -0
  268. package/native/core/SkiaPictureViewComponent.h +47 -0
  269. package/native/core/SourceCodeModule.cpp +55 -0
  270. package/native/core/SourceCodeModule.h +53 -0
  271. package/native/core/StatusBarModule.cpp +23 -0
  272. package/native/core/StatusBarModule.h +42 -0
  273. package/native/core/TestDialog.cpp +148 -0
  274. package/native/core/TestDialog.h +96 -0
  275. package/native/core/TestKeys.cpp +78 -0
  276. package/native/core/TestKeys.h +50 -0
  277. package/native/core/TestQuitFile.cpp +33 -0
  278. package/native/core/TestQuitFile.h +60 -0
  279. package/native/core/TestSettle.h +192 -0
  280. package/native/core/TitleBarRegions.h +31 -0
  281. package/native/core/TurboModuleProxy.cpp +51 -0
  282. package/native/core/TurboModuleProxy.h +46 -0
  283. package/native/core/UIManagerAccess.cpp +43 -0
  284. package/native/core/UIManagerAccess.h +43 -0
  285. package/native/core/WindowBoundsCache.cpp +319 -0
  286. package/native/core/WindowControl.h +235 -0
  287. package/native/core/WindowHost.h +158 -0
  288. package/native/core/WindowMethods.cpp +167 -0
  289. package/native/core/WindowMethods.h +84 -0
  290. package/native/core/WindowsModule.cpp +448 -0
  291. package/native/core/WindowsModule.h +133 -0
  292. package/native/core/WorkletsModule.cpp +199 -0
  293. package/native/core/WorkletsModule.h +57 -0
  294. package/native/core/portability_probe.cpp +210 -0
  295. package/native/tests/EventRecorder.h +124 -0
  296. package/native/tests/TestHarness.cpp +109 -0
  297. package/native/tests/TestHarness.h +89 -0
  298. package/native/tests/TreeDump.h +49 -0
  299. package/native/tests/test_app_identity.cpp +114 -0
  300. package/native/tests/test_app_paths.cpp +48 -0
  301. package/native/tests/test_appearance.cpp +107 -0
  302. package/native/tests/test_backface.cpp +79 -0
  303. package/native/tests/test_blobs.cpp +157 -0
  304. package/native/tests/test_controls.cpp +185 -0
  305. package/native/tests/test_devbundle.cpp +103 -0
  306. package/native/tests/test_drag_and_drop.cpp +143 -0
  307. package/native/tests/test_gestures.cpp +331 -0
  308. package/native/tests/test_hover.cpp +92 -0
  309. package/native/tests/test_image_cache.cpp +109 -0
  310. package/native/tests/test_js_runtime_access.cpp +137 -0
  311. package/native/tests/test_key_events.cpp +235 -0
  312. package/native/tests/test_momentum.cpp +138 -0
  313. package/native/tests/test_quit_file.cpp +104 -0
  314. package/native/tests/test_scroll_animation.cpp +120 -0
  315. package/native/tests/test_scroll_bounds.cpp +66 -0
  316. package/native/tests/test_scroll_indicator.cpp +149 -0
  317. package/native/tests/test_scroll_snap.cpp +112 -0
  318. package/native/tests/test_settle.cpp +115 -0
  319. package/native/tests/test_share.cpp +75 -0
  320. package/native/tests/test_sourcecode.cpp +62 -0
  321. package/native/tests/test_window_close.cpp +119 -0
  322. package/native/tests/test_window_limits.cpp +123 -0
  323. package/package.json +43 -0
  324. package/react-native.config.js +86 -0
  325. package/supported-versions.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../cli/desktop.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGH,oCAYC;AAUD,gCAmBC;AAED,kCAiBC;AAqCD,gDAuBC;AAqDD,gDAyCC;AAyBD,gDAoBC;AAED,sDA6GC;AAmBD,oCAkDC;AAeD,kCA0BC;AAMD,wCASC;AAiBD,0CA4CC;AASD,oCAgBC;AAoCD,8DAoBC;AAoBD,sDAeC;AAED,8BA0FC;AASD,8CAmBC;AAoFD,gDAuBC;AAiHD,wCA4DC;AAjpCD,2DAAoD;AACpD,4CAA8B;AAC9B,gDAAkC;AAElC,yDAAwE;AACxE,6CAAwC;AAExC,mCAAgD;AAEhD,MAAM,YAAY,GAAG,IAAI,CAAC;AA8E1B,MAAa,WAAY,SAAQ,KAAK;CAAG;AAAzC,kCAAyC;AAEzC;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,UAAU,CAAC,WAAmB,EAAE,OAAmB,EAAE,MAAc;IACjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,uDAAuD;IACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAElF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,WAAW,CAAC,WAAmB,EAAE,OAAmB,EAAE,MAAc;IAClF,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,WAAW,CACnB,kBAAkB,MAAM,CAAC,MAAM,OAAO;QACpC,cAAc;QACd,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,MAAM;QACN,qBAAqB;QACrB,kBAAkB,MAAM,CAAC,OAAO,cAAc;QAC9C,gCAAgC,MAAM,CAAC,SAAS,IAAI;QACpD,iFAAiF,CACpF,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CACV,OAAe,EACf,IAAc,EACd,OAAgD,EAChD,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,IAAI,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAK,MAAM,CAAC,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,gEAAgE,SAAS,GAAG,CACvF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB,CAAC,eAAuB;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IAC3C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,4BAA4B,eAAe,oCAAoC;YAC7E,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;KAC/C,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,8BAA8B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB;gBAC1E,2EAA2E;gBAC3E,4DAA4D,CAC/D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,QAAyB;IAEzB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,uEAAuE;IACvE,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CACnD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC;QAC7C,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yEAAyE;IACzE,EAAE;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,iEAAiE;IACjE,EAAE;IACF,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,yDAAyD;IACzD,EAAE;IACF,yEAAyE;IACzE,gDAAgD;IAChD,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,WAAW,GAA2B;QAC1C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC;QACxD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC3D,mEAAmE;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,gDAAgD;QAChD,KAAK,EAAE,IAAI,CAAC,IAAI,CACd,MAAM,EACN,OAAO,EACP,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC/C,WAAW,CACZ;KACF,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GACP,QAAQ,KAAK,OAAO;YAClB,CAAC,CAAC,wEAAwE;YAC1E,CAAC,CAAC,4BAA4B,QAAQ,gCAAgC;gBACpE,wEAAwE;gBACxE,wCAAwC,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,4CAA4C,IAAI,oBAAoB;YAClE,GAAG,OAAO,KAAK,GAAG,sDAAsD;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,iBAAiB,CACpB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;IACvE,IAAI,UAAU,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,yCAAyC,UAAU,cAAc;YAC/D,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,yEAAyE;IACzE,0BAA0B;IAC1B,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,YAAY,CAC1B,QAAgB,EAChB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,+BAA+B,CAAC,CAAC;IAC5E,CAAC;IACD,qEAAqE;IACrE,EAAE;IACF,6EAA6E;IAC7E,sEAAsE;IACtE,2EAA2E;IAC3E,gBAAgB;IAChB,EAAE;IACF,6DAA6D;IAC7D,EAAE;IACF,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,UAAU;QACd,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QAChC,UAAU;KACX,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,WAAW,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9D,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAW,EAAE,CAChD,mCAAmC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,CAAC,SAA6B,EAAW,EAAE,CACxD,SAAS,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE1E,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7C,mDAAmD;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACrH,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,eAAe,GAAG,GAAG,CAAC,mBAAmB,CAAC,IAAI,yBAAyB,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,yBAAyB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAClG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,sFAAsF;YACpF,mEAAmE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,8BAAS,EACrB,OAAO,EACP,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAC7H,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,oFAAoF;YAClF,2BAA2B,CAC9B,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACnF,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,MAAM,qBAAqB,CAAC,EAAE;QACxF,QAAQ,EAAE,MAAM;QAChB,GAAG;QACH,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,EAAC,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAC,CAAC;IAChE,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,0EAA0E;IAC1E,4EAA4E;IAC5E,4CAA4C;IAC5C,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;;;;GAcG;AACH,SAAgB,yBAAyB,CAAC,WAAmB,EAAE,KAAY;IACzE,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,YAAY,GAAG,CAAC,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,4DAA4D;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,IAAI,KAAK,CACd,GAAG,KAAK,CAAC,OAAO,MAAM;QACpB,6CAA6C,YAAY,CAAC,MAAM,GAAG;QACnE,cAAc,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI;QAChE,2EAA2E;QAC3E,6BAA6B,CAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,qBAAqB,CAAC,OAAe,EAAE,GAA2B;IAChF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACxD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAClD,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACvC,GAAG,CACD,0EAA0E;QACxE,0BAA0B,MAAM,yCAAyC;QACzE,8CAA8C,CACjD,CAAC;AACJ,CAAC;AAED,SAAgB,SAAS,CAAC,OAAmB,EAAE,OAAmB,EAAE,MAAc;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClD,uEAAuE;IACvE,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1E,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClI,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5D,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,8EAA8E;IAC9E,qEAAqE;IACrE,EAAE;IACF,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAC3B,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,gFAAgF;gBAC9E,oFAAoF,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,GAAG,CACD,IAAI,EACJ,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,EACjC,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAC,GAAG,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAC,EAAC,EAClE,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,GAAG,CACD,OAAO,EACP;QACE,IAAI;QACJ,MAAM,CAAC,SAAS;QAChB,IAAI;QACJ,QAAQ;QACR,IAAI;QACJ,MAAM,CAAC,SAAS,IAAI,OAAO;QAC3B,YAAY,OAAO,CAAC,KAAK,EAAE;QAC3B,GAAG,aAAa,CAAC,IAAI;QACrB,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChC,wBAAwB,UAAU,EAAE;QACpC,uEAAuE;QACvE,0EAA0E;QAC1E,0DAA0D;QAC1D,qBAAqB,MAAM,CAAC,OAAO,EAAE;QACrC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;KAChC,EACD,EAAC,GAAG,EAAE,QAAQ,EAAC,EACf,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAC,GAAG,EAAE,QAAQ,EAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,yBAAyB,CAAC,WAAW,EAAE,KAAc,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,OAAmB;IACxE,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sEAAsE;QACpE,iEAAiE,CACpE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAmB,EACnB,OAAmB,EACnB,UAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC;QACpC,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU;QAC1C,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CACT,OAAO,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,oBAAoB,CACnF,CAAC;AACJ,CAAC;AAiBD,SAAS,MAAM,CACb,UAAkB,EAClB,EAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAgB;IAE9D,MAAM,GAAG,GAAG,EAAC,GAAG,OAAO,CAAC,GAAG,EAAC,CAAC;IAC7B,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,UAAU,EAAE,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE;YAC9D,GAAG;YACH,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,wEAAwE;YACxE,sEAAsE;YACtE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,IAAI,WAAW,CAAC,4BAA4B,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,4BAA4B,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9F,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,8BAA8B,OAAO,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC;IACD,OAAO,CACL,+EAA+E;QAC/E,gFAAgF;QAChF,gDAAgD;QAChD,4BAA4B,IAAI,MAAM;QACtC,6DAA6D,CAC9D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,KAAe,EACf,OAAmB,EACnB,OAAmB,EACnB,MAAc;IAEd,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAEvC,2EAA2E;IAC3E,6EAA6E;IAC7E,sDAAsD;IACtD,IAAI,UAAU,CAAC;IACf,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE3D,4EAA4E;IAC5E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,WAAW,EACX,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACzD,CAAC;IAEF,0EAA0E;IAC1E,2BAA2B;IAC3B,EAAE;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,IAAA,uBAAU,EAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;QAC7C,WAAW;QACX,UAAU;KACX,CAAC,CAAC;IACH,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACjC,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CACT,aAAa,QAAQ,IAAI;YACvB,2EAA2E;YAC3E,sEAAsE,QAAQ,EAAE,CACnF,CAAC;IACJ,CAAC;IAGD,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,EAAC,OAAO,EAAC,GAAG,MAAM,IAAA,kBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CACT,6BAA6B,IAAI,gBAAgB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,6CAA6C;QAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC3E,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YAC1D,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,qDAAqD;QACrD,MAAM,IAAA,qCAAkB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;QACtC,UAAU;QACV,UAAU;QACV,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAChE,GAAG,EAAE,WAAW;KACjB,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,WAAW,EAAE,uCAAuC,MAAM,CAAC,KAAK,sBAAsB;QACtF,IAAI,EAAE,KAAK,EAAE,IAAc,EAAE,OAAmB,EAAE,OAAmB,EAAiB,EAAE;YACtF,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBACjC,mEAAmE;oBACnE,QAAQ;oBACR,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;oBAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,mCAAmC;gBAChD,OAAO,EAAE,YAAY;aACtB;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,uDAAuD;gBACpE,OAAO,EAAE,KAAK;aACf;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,8CAA8C;aAC5D;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,sDAAsD;aACpE;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,yBAAyB;aACvC;YACD;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,OAAO,MAAM,CAAC,MAAM,yCAAyC;aAC3E;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,wDAAwD;aACtE;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,8CAA8C;aAC5D;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE,UAAU;aACpB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { NamedStep, Step } from './steps';
2
+ export type DoctorResult = {
3
+ ok: boolean;
4
+ /** Absent only when the directory is not an app at all. */
5
+ reason?: string;
6
+ steps: NamedStep[];
7
+ };
8
+ /** The desktop this machine builds for, or null where it builds for none. */
9
+ export declare function currentDesktop(platform?: string): string | null;
10
+ /**
11
+ * The React Native the app has, against the ones this platform is tested on.
12
+ *
13
+ * `supported-versions.json` is the same file bootstrap reads before it
14
+ * downloads anything, and it refuses an unsupported version in seconds. This
15
+ * asks the same question earlier still, and reports rather than refuses --
16
+ * nothing has been downloaded yet, so there is nothing to protect.
17
+ */
18
+ export declare function checkReactNative(projectRoot: string, versionsFile: string): Step;
19
+ /** cmake and ninja, which every desktop's build needs. */
20
+ export declare function checkBuildTools(present?: (program: string) => boolean): NamedStep[];
21
+ /**
22
+ * What the desktop this machine builds for needs, beyond cmake and ninja.
23
+ *
24
+ * One entry per desktop, and only ever the current one: see the header.
25
+ */
26
+ export declare function checkDesktop(desktop: string | null, wanted: readonly string[], present?: (program: string, args?: string[]) => boolean): NamedStep[];
27
+ /** Whether the host packages the app asked for are actually installed. */
28
+ export declare function checkHostPackages(projectRoot: string, wanted: readonly string[]): NamedStep[];
29
+ export declare function doctor(root?: string, versionsFile?: string): DoctorResult;
30
+ export declare function main(argv: string[]): number;
31
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAsBF,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAyB,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAmChF;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAC7B,OAAO,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAgB,GAC7C,SAAS,EAAE,CAcb;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,OAAgB,GAC9D,SAAS,EAAE,CA+Eb;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CAe7F;AAED,wBAAgB,MAAM,CACpB,IAAI,GAAE,MAAsB,EAC5B,YAAY,GAAE,MAAoE,GACjF,YAAY,CAiBd;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAwB3C"}
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ // What a build is going to need, said before the build needs it.
3
+ //
4
+ // A first desktop build compiles Hermes and React Native's C++ from source. It
5
+ // takes tens of minutes, and every prerequisite it is missing is discovered at
6
+ // the moment it is reached rather than at the start: no cmake, no ninja, GTK's
7
+ // development headers absent, vcpkg not set up, a React Native nothing here
8
+ // supports. Each arrives as a CMake or compiler error naming a path, twenty
9
+ // minutes in, to somebody who has not seen this build before.
10
+ //
11
+ // So this asks the same questions first, and cheaply. It is `init` with its
12
+ // hands behind its back -- the same steps, reported the same way, writing
13
+ // nothing -- plus the checks `init` has no fix for, which are the expensive
14
+ // ones.
15
+ //
16
+ // ## What it will not do
17
+ //
18
+ // Claim a desktop it cannot see. Whether GTK's headers are installed is not a
19
+ // question a Mac can answer, and reporting "fine" for a platform this machine
20
+ // cannot check would make the command worse than not running it. Those report
21
+ // as unchecked, with the reason.
22
+ //
23
+ // ## Where the list comes from
24
+ //
25
+ // `docs/PORTING.md` says what each platform's build needs, and CI installs
26
+ // exactly that list. These checks encode the same one; if it grows there and
27
+ // not here, this command gets quieter rather than wrong, which is the failure
28
+ // worth knowing about.
29
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ var desc = Object.getOwnPropertyDescriptor(m, k);
32
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
33
+ desc = { enumerable: true, get: function() { return m[k]; } };
34
+ }
35
+ Object.defineProperty(o, k2, desc);
36
+ }) : (function(o, m, k, k2) {
37
+ if (k2 === undefined) k2 = k;
38
+ o[k2] = m[k];
39
+ }));
40
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
41
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
42
+ }) : function(o, v) {
43
+ o["default"] = v;
44
+ });
45
+ var __importStar = (this && this.__importStar) || (function () {
46
+ var ownKeys = function(o) {
47
+ ownKeys = Object.getOwnPropertyNames || function (o) {
48
+ var ar = [];
49
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
50
+ return ar;
51
+ };
52
+ return ownKeys(o);
53
+ };
54
+ return function (mod) {
55
+ if (mod && mod.__esModule) return mod;
56
+ var result = {};
57
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
58
+ __setModuleDefault(result, mod);
59
+ return result;
60
+ };
61
+ })();
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.currentDesktop = currentDesktop;
64
+ exports.checkReactNative = checkReactNative;
65
+ exports.checkBuildTools = checkBuildTools;
66
+ exports.checkDesktop = checkDesktop;
67
+ exports.checkHostPackages = checkHostPackages;
68
+ exports.doctor = doctor;
69
+ exports.main = main;
70
+ const node_child_process_1 = require("node:child_process");
71
+ const fs = __importStar(require("node:fs"));
72
+ const path = __importStar(require("node:path"));
73
+ const init_1 = require("./init");
74
+ const steps_1 = require("./steps");
75
+ /** Whether a program answers on this machine, without caring what it says. */
76
+ function onPath(program, args = ['--version']) {
77
+ try {
78
+ (0, node_child_process_1.execFileSync)(program, args, { stdio: 'ignore' });
79
+ return true;
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ /** The first line a program prints, trimmed, or null if it did not run. */
86
+ function versionOf(program, args = ['--version']) {
87
+ try {
88
+ const out = (0, node_child_process_1.execFileSync)(program, args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
89
+ return out.split('\n')[0]?.trim() ?? null;
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ }
95
+ /** The desktop this machine builds for, or null where it builds for none. */
96
+ function currentDesktop(platform = process.platform) {
97
+ if (platform === 'linux')
98
+ return 'linux';
99
+ if (platform === 'darwin')
100
+ return 'macos';
101
+ if (platform === 'win32')
102
+ return 'windows';
103
+ return null;
104
+ }
105
+ /**
106
+ * The React Native the app has, against the ones this platform is tested on.
107
+ *
108
+ * `supported-versions.json` is the same file bootstrap reads before it
109
+ * downloads anything, and it refuses an unsupported version in seconds. This
110
+ * asks the same question earlier still, and reports rather than refuses --
111
+ * nothing has been downloaded yet, so there is nothing to protect.
112
+ */
113
+ function checkReactNative(projectRoot, versionsFile) {
114
+ const installed = path.join(projectRoot, 'node_modules', 'react-native', 'package.json');
115
+ if (!fs.existsSync(installed)) {
116
+ return (0, steps_1.step)(steps_1.BLOCKED, 'react-native is not installed; run your package manager first');
117
+ }
118
+ let version;
119
+ try {
120
+ version = JSON.parse(fs.readFileSync(installed, 'utf8')).version;
121
+ }
122
+ catch {
123
+ return (0, steps_1.step)(steps_1.BLOCKED, `could not read a version out of ${installed}`);
124
+ }
125
+ let table;
126
+ try {
127
+ table = JSON.parse(fs.readFileSync(versionsFile, 'utf8'));
128
+ }
129
+ catch {
130
+ return (0, steps_1.step)(steps_1.BLOCKED, `could not read ${path.basename(versionsFile)}`);
131
+ }
132
+ const minor = version.split('.').slice(0, 2).join('.');
133
+ const supported = (table.supported ?? []).map((entry) => entry.reactNative);
134
+ if (supported.includes(minor)) {
135
+ return (0, steps_1.step)(steps_1.DONE, `react-native ${version}`);
136
+ }
137
+ if (table.development?.reactNative === version) {
138
+ return (0, steps_1.step)(steps_1.DONE, `react-native ${version} (the development version)`);
139
+ }
140
+ return (0, steps_1.step)(steps_1.BLOCKED, `react-native ${version} is not supported. Supported: ${supported.join(', ')}. ` +
141
+ 'See supported-versions.json for why a version is listed rather than a range.');
142
+ }
143
+ /** cmake and ninja, which every desktop's build needs. */
144
+ function checkBuildTools(present = onPath) {
145
+ const steps = [];
146
+ for (const [tool, how] of [
147
+ ['cmake', 'apt install cmake, or brew install cmake'],
148
+ ['ninja', 'apt install ninja-build, or brew install ninja'],
149
+ ]) {
150
+ // ninja answers to --version and is spelled ninja-build by apt but ninja
151
+ // on the path, which is why this asks the path rather than the packager.
152
+ steps.push([
153
+ tool,
154
+ present(tool) ? (0, steps_1.step)(steps_1.DONE, versionOf(tool) ?? 'present') : (0, steps_1.step)(steps_1.BLOCKED, `not installed. ${how}`),
155
+ ]);
156
+ }
157
+ return steps;
158
+ }
159
+ /**
160
+ * What the desktop this machine builds for needs, beyond cmake and ninja.
161
+ *
162
+ * One entry per desktop, and only ever the current one: see the header.
163
+ */
164
+ function checkDesktop(desktop, wanted, present = onPath) {
165
+ const steps = [];
166
+ for (const other of wanted) {
167
+ if (other === desktop) {
168
+ continue;
169
+ }
170
+ steps.push([
171
+ other,
172
+ (0, steps_1.step)(steps_1.UNCHECKED, `not checked from ${desktop ?? 'a machine with no desktop'}`),
173
+ ]);
174
+ }
175
+ if (desktop == null) {
176
+ return steps;
177
+ }
178
+ if (!wanted.includes(desktop)) {
179
+ // The app narrowed itself to desktops that do not include this one, which
180
+ // is allowed and worth saying: nothing here can be built or run.
181
+ steps.push([
182
+ desktop,
183
+ (0, steps_1.step)(steps_1.UNCHECKED, "this machine's desktop is not in app.json's basalt.desktops"),
184
+ ]);
185
+ return steps;
186
+ }
187
+ if (desktop === 'linux') {
188
+ steps.push([
189
+ 'gtk4',
190
+ present('pkg-config', ['--exists', 'gtk4'])
191
+ ? (0, steps_1.step)(steps_1.DONE, versionOf('pkg-config', ['--modversion', 'gtk4']) ?? 'present')
192
+ : (0, steps_1.step)(steps_1.BLOCKED, "GTK 4's development headers are missing. apt install libgtk-4-dev"),
193
+ ]);
194
+ steps.push([
195
+ 'clang',
196
+ present('clang')
197
+ ? (0, steps_1.step)(steps_1.DONE, versionOf('clang') ?? 'present')
198
+ : (0, steps_1.step)(steps_1.BLOCKED, 'not installed. apt install clang -- React Native builds -Werror and is a ' +
199
+ 'clang codebase; see docs/DECISIONS.md'),
200
+ ]);
201
+ }
202
+ if (desktop === 'macos') {
203
+ steps.push([
204
+ 'command line tools',
205
+ present('xcrun', ['--show-sdk-path'])
206
+ ? (0, steps_1.step)(steps_1.DONE, versionOf('xcrun', ['--show-sdk-version']) ?? 'present')
207
+ : (0, steps_1.step)(steps_1.BLOCKED, 'no macOS SDK. Run xcode-select --install'),
208
+ ]);
209
+ }
210
+ if (desktop === 'windows') {
211
+ const root = process.env.VCPKG_INSTALLATION_ROOT;
212
+ steps.push([
213
+ 'vcpkg',
214
+ root != null && fs.existsSync(root)
215
+ ? (0, steps_1.step)(steps_1.DONE, root)
216
+ : (0, steps_1.step)(steps_1.BLOCKED, 'VCPKG_INSTALLATION_ROOT is not set to a directory that exists. The ' +
217
+ 'Windows build takes its dependencies from vcpkg; see docs/PORTING.md'),
218
+ ]);
219
+ steps.push([
220
+ 'clang-cl',
221
+ present('clang-cl', ['--version'])
222
+ ? (0, steps_1.step)(steps_1.DONE, versionOf('clang-cl') ?? 'present')
223
+ : (0, steps_1.step)(steps_1.BLOCKED, 'not installed. Hermes needs clang-cl rather than cl -- cl has no ' +
224
+ '__builtin_expect; see docs/PORTING.md'),
225
+ ]);
226
+ }
227
+ return steps;
228
+ }
229
+ /** Whether the host packages the app asked for are actually installed. */
230
+ function checkHostPackages(projectRoot, wanted) {
231
+ return wanted.map((desktop) => {
232
+ const name = init_1.HOST_PACKAGES[desktop];
233
+ const installed = fs.existsSync(path.join(projectRoot, 'node_modules', name, 'package.json'));
234
+ return [
235
+ name,
236
+ installed
237
+ ? (0, steps_1.step)(steps_1.DONE, 'installed')
238
+ : (0, steps_1.step)(steps_1.BLOCKED, `not installed, so there is no run-${desktop} command. Run your ` +
239
+ 'package manager, or `npx basalt-core init` if it is not a dependency yet.'),
240
+ ];
241
+ });
242
+ }
243
+ function doctor(root = process.cwd(), versionsFile = path.join(__dirname, '..', '..', 'supported-versions.json')) {
244
+ // The app half, which is exactly what `init` would do, minus the doing.
245
+ const configured = (0, init_1.init)(root, { write: false });
246
+ if (!configured.ok) {
247
+ return { ok: false, reason: configured.reason, steps: [] };
248
+ }
249
+ const { desktops } = (0, init_1.desktopsFor)(root);
250
+ const steps = [
251
+ ...configured.steps,
252
+ ...checkHostPackages(root, desktops),
253
+ ['react-native', checkReactNative(root, versionsFile)],
254
+ ...checkBuildTools(),
255
+ ...checkDesktop(currentDesktop(), desktops),
256
+ ];
257
+ return { ok: steps.every(([, outcome]) => outcome.state !== steps_1.BLOCKED), steps };
258
+ }
259
+ function main(argv) {
260
+ const args = argv[0] === 'doctor' ? argv.slice(1) : argv;
261
+ const root = args[0] != null && !args[0].startsWith('-') ? path.resolve(args[0]) : process.cwd();
262
+ const result = doctor(root);
263
+ if (result.reason != null) {
264
+ process.stderr.write(`basalt-core doctor: ${result.reason}\n`);
265
+ return 1;
266
+ }
267
+ const { changed, blocked } = (0, steps_1.report)(result.steps, line => process.stdout.write(`${line}\n`));
268
+ if (blocked > 0) {
269
+ process.stdout.write(`\n${blocked} thing${blocked === 1 ? '' : 's'} to fix; see above.\n`);
270
+ return 1;
271
+ }
272
+ // `changed` here means "init would change it", which is not a failure: an
273
+ // app that has never been configured is not a broken machine.
274
+ process.stdout.write(changed === 0
275
+ ? '\nReady to build.\n'
276
+ : `\nNothing is wrong; ${changed} thing${changed === 1 ? '' : 's'} ` +
277
+ 'would change. Run `npx basalt-core init`.\n');
278
+ return 0;
279
+ }
280
+ if (require.main === module) {
281
+ process.exitCode = main(process.argv.slice(2));
282
+ }
283
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../cli/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `npx basalt-core init`, which adds a desktop to an app that exists.
4
+ *
5
+ * It does not create an app. `create-expo-app` does that, and the division is
6
+ * the same one `run-linux` already assumes: this platform is something you add
7
+ * to a React Native app, not a way to start one.
8
+ *
9
+ * ## Why a bin rather than a CLI command
10
+ *
11
+ * The run commands are React Native CLI commands, registered from the host
12
+ * packages, because the CLI has to be able to find them. This one cannot be:
13
+ * before it runs, the package is not a dependency yet, so there is no config
14
+ * for the CLI to read. `npx basalt-core init` works from nothing, which
15
+ * is the point -- one command, in an app that has never heard of this platform.
16
+ *
17
+ * ## Idempotent, and refusing beats half-configuring
18
+ *
19
+ * Every step reports one of three things: it was already right, it was changed,
20
+ * or it could not be done and why. Running twice is safe and says so. An app
21
+ * this cannot recognise is refused before anything is written, because a
22
+ * half-configured app fails later and further from the cause than one that was
23
+ * turned away -- and the failure it produces names a Metro or Babel internal
24
+ * rather than the step that was skipped.
25
+ *
26
+ * @format
27
+ */
28
+ import type { NamedStep, Step, StepState } from './steps';
29
+ export type { Step, StepState };
30
+ export declare const DEV_DEPENDENCIES: readonly ["@react-native/metro-config", "@react-native-community/cli"];
31
+ /**
32
+ * The host packages, one per desktop, and all three by default.
33
+ *
34
+ * Each carries its own `run-<desktop>` command -- React Native's CLI reads a
35
+ * `react-native.config.js` out of every dependency, and the commands live
36
+ * beside the host they need rather than in core, so an app with only the
37
+ * AppKit package never sees a command it could not have used. Which means an
38
+ * app that installed core alone has no desktop commands at all, and `init`'s
39
+ * own closing line tells the person to run one.
40
+ *
41
+ * All three rather than the one this machine runs, because `package.json` is
42
+ * committed: which desktops an app builds for is a property of the project and
43
+ * not of whoever set it up. Narrowing by the current platform would configure
44
+ * an app on a Mac that failed on a contributor's Linux box, reporting an
45
+ * unrecognised command -- which reads as a broken install rather than as a
46
+ * decision somebody made.
47
+ *
48
+ * The cost of the other two is source that is never compiled: the build only
49
+ * configures the host for the platform it is running on. An app that wants
50
+ * fewer says so in app.json; see DESKTOPS_KEY.
51
+ */
52
+ export declare const HOST_PACKAGES: Readonly<Record<string, string>>;
53
+ export type InitResult = {
54
+ ok: false;
55
+ reason: string;
56
+ steps: NamedStep[];
57
+ } | {
58
+ ok: true;
59
+ steps: NamedStep[];
60
+ };
61
+ /**
62
+ * The desktops this app builds for: every one, unless app.json narrows it.
63
+ *
64
+ * An unknown name is refused rather than ignored. A typo -- "mac", "win" --
65
+ * would otherwise quietly install one package fewer and fail much later, at
66
+ * the command that is missing, which is the failure this whole step exists to
67
+ * prevent.
68
+ */
69
+ export declare function desktopsFor(root: string): {
70
+ desktops: string[];
71
+ reason?: string;
72
+ };
73
+ export declare function init(root?: string, { write }?: {
74
+ write?: boolean;
75
+ }): InitResult;
76
+ export declare function main(argv: string[]): number;
77
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,KAAK,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAGxD,YAAY,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;AAU9B,eAAO,MAAM,gBAAgB,wEAGnB,CAAC;AAIX;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI1D,CAAC;AA4BF,MAAM,MAAM,UAAU,GAClB;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAAC,GAC/C;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAA;CAAC,CAAC;AA6EnC;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAwB/E;AA+LD,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAsB,EAAE,EAAC,KAAY,EAAC,GAAE;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAM,GAAG,UAAU,CA4CrG;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA2B3C"}