xbintsc 0.5.43 → 0.5.51

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 (219) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +5 -4
  3. package/README.zh-CN.md +4 -3
  4. package/dist/src/cli/extensions.d.ts +24 -0
  5. package/dist/src/cli/extensions.js +62 -0
  6. package/dist/src/cli/extensions.js.map +1 -0
  7. package/dist/src/cli/help.d.ts +1 -1
  8. package/dist/src/cli/help.js +3 -1
  9. package/dist/src/cli/help.js.map +1 -1
  10. package/dist/src/cli/hints.js +8 -3
  11. package/dist/src/cli/hints.js.map +1 -1
  12. package/dist/src/cli/main.js +21 -28
  13. package/dist/src/cli/main.js.map +1 -1
  14. package/dist/src/diagnostics/diagnostic.d.ts +3 -1
  15. package/dist/src/diagnostics/diagnostic.js +2 -0
  16. package/dist/src/diagnostics/diagnostic.js.map +1 -1
  17. package/dist/src/driver/build-key.d.ts +2 -0
  18. package/dist/src/driver/build-key.js +1 -0
  19. package/dist/src/driver/build-key.js.map +1 -1
  20. package/dist/src/driver/compiler.js +61 -8
  21. package/dist/src/driver/compiler.js.map +1 -1
  22. package/dist/src/driver/config.d.ts +4 -0
  23. package/dist/src/driver/config.js +2 -0
  24. package/dist/src/driver/config.js.map +1 -1
  25. package/dist/src/driver/link-features.d.ts +37 -0
  26. package/dist/src/driver/link-features.js +123 -0
  27. package/dist/src/driver/link-features.js.map +1 -0
  28. package/dist/src/driver/options.d.ts +10 -0
  29. package/dist/src/driver/runtime-objects.d.ts +5 -0
  30. package/dist/src/driver/runtime-objects.js +20 -1
  31. package/dist/src/driver/runtime-objects.js.map +1 -1
  32. package/dist/src/driver/usage.d.ts +23 -0
  33. package/dist/src/driver/usage.js +353 -0
  34. package/dist/src/driver/usage.js.map +1 -0
  35. package/dist/src/driver/version.d.ts +1 -1
  36. package/dist/src/driver/version.js +1 -1
  37. package/dist/src/extensions/catalog.js +1 -2
  38. package/dist/src/extensions/catalog.js.map +1 -1
  39. package/dist/src/extensions/gui/features.d.ts +31 -0
  40. package/dist/src/extensions/gui/features.js +160 -0
  41. package/dist/src/extensions/gui/features.js.map +1 -0
  42. package/dist/src/extensions/gui/index.js +10 -4
  43. package/dist/src/extensions/gui/index.js.map +1 -1
  44. package/dist/src/extensions/link-feature.d.ts +70 -0
  45. package/dist/src/extensions/link-feature.js +18 -0
  46. package/dist/src/extensions/link-feature.js.map +1 -0
  47. package/dist/src/extensions/registry.d.ts +24 -4
  48. package/dist/src/extensions/registry.js +26 -3
  49. package/dist/src/extensions/registry.js.map +1 -1
  50. package/dist/src/index.d.ts +3 -2
  51. package/dist/src/index.js +0 -1
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/tests/cli/hints.test.js +5 -7
  54. package/dist/tests/cli/hints.test.js.map +1 -1
  55. package/dist/tests/driver/link-features.test.js +105 -0
  56. package/dist/tests/driver/link-features.test.js.map +1 -0
  57. package/dist/tests/driver/usage.test.d.ts +1 -0
  58. package/dist/tests/driver/usage.test.js +88 -0
  59. package/dist/tests/driver/usage.test.js.map +1 -0
  60. package/dist/tests/e2e/gui-audio.test.js +26 -4
  61. package/dist/tests/e2e/gui-audio.test.js.map +1 -1
  62. package/dist/tests/e2e/gui-browser.test.js +3 -0
  63. package/dist/tests/e2e/gui-browser.test.js.map +1 -1
  64. package/dist/tests/e2e/gui-events.test.js +67 -0
  65. package/dist/tests/e2e/gui-events.test.js.map +1 -1
  66. package/dist/tests/e2e/gui-feature-linking.test.d.ts +9 -0
  67. package/dist/tests/e2e/gui-feature-linking.test.js +68 -0
  68. package/dist/tests/e2e/gui-feature-linking.test.js.map +1 -0
  69. package/dist/tests/e2e/gui-helpers.d.ts +5 -1
  70. package/dist/tests/e2e/gui-helpers.js +2 -0
  71. package/dist/tests/e2e/gui-helpers.js.map +1 -1
  72. package/dist/tests/e2e/gui-layout.test.js +4 -1
  73. package/dist/tests/e2e/gui-layout.test.js.map +1 -1
  74. package/dist/tests/e2e/gui-media-disabled.test.d.ts +5 -4
  75. package/dist/tests/e2e/gui-media-disabled.test.js +7 -6
  76. package/dist/tests/e2e/gui-media-disabled.test.js.map +1 -1
  77. package/dist/tests/e2e/gui-media.test.d.ts +5 -4
  78. package/dist/tests/e2e/gui-media.test.js +9 -9
  79. package/dist/tests/e2e/gui-media.test.js.map +1 -1
  80. package/dist/tests/e2e/gui-paint.test.js +5 -2
  81. package/dist/tests/e2e/gui-paint.test.js.map +1 -1
  82. package/dist/tests/e2e/gui-shaping.test.d.ts +5 -0
  83. package/dist/tests/e2e/gui-shaping.test.js +47 -0
  84. package/dist/tests/e2e/gui-shaping.test.js.map +1 -0
  85. package/dist/tests/e2e/gui-webgl-pipeline-cache.test.d.ts +18 -0
  86. package/dist/tests/e2e/gui-webgl-pipeline-cache.test.js +120 -0
  87. package/dist/tests/e2e/gui-webgl-pipeline-cache.test.js.map +1 -0
  88. package/dist/tests/extensions/gui-features.test.d.ts +1 -0
  89. package/dist/tests/extensions/gui-features.test.js +168 -0
  90. package/dist/tests/extensions/gui-features.test.js.map +1 -0
  91. package/doc/ai/cli.md +5 -1
  92. package/doc/ai/extensions.md +52 -25
  93. package/doc/ai/troubleshooting.md +10 -7
  94. package/doc/ai/zh-CN/cli.md +5 -1
  95. package/doc/ai/zh-CN/extensions.md +45 -23
  96. package/doc/ai/zh-CN/troubleshooting.md +6 -5
  97. package/doc/gui/api.md +14 -5
  98. package/doc/gui/build.md +136 -19
  99. package/doc/gui/canvas.md +1 -1
  100. package/doc/gui/input.md +7 -0
  101. package/doc/gui/known-issues.md +32 -3
  102. package/doc/gui/layout.md +1 -1
  103. package/doc/gui/media.md +13 -7
  104. package/doc/gui/rendering.md +32 -15
  105. package/doc/gui/runtime.md +5 -0
  106. package/doc/gui/webgl.md +24 -6
  107. package/doc/gui-scripts.md +2 -1
  108. package/doc/gui.md +50 -35
  109. package/doc/implemented/cli.md +2 -0
  110. package/doc/implemented/extensions.md +9 -3
  111. package/doc/npm-package.md +4 -4
  112. package/doc/xbintsc.config.schema.json +10 -0
  113. package/doc/zh-CN/gui/api.md +13 -5
  114. package/doc/zh-CN/gui/build.md +110 -16
  115. package/doc/zh-CN/gui/canvas.md +1 -1
  116. package/doc/zh-CN/gui/input.md +5 -0
  117. package/doc/zh-CN/gui/known-issues.md +24 -3
  118. package/doc/zh-CN/gui/layout.md +1 -1
  119. package/doc/zh-CN/gui/media.md +11 -6
  120. package/doc/zh-CN/gui/rendering.md +26 -9
  121. package/doc/zh-CN/gui/runtime.md +3 -0
  122. package/doc/zh-CN/gui/webgl.md +3 -3
  123. package/doc/zh-CN/gui-scripts.md +2 -2
  124. package/doc/zh-CN/gui.md +42 -29
  125. package/doc/zh-CN/implemented/cli.md +2 -0
  126. package/doc/zh-CN/implemented/extensions.md +9 -3
  127. package/doc/zh-CN/npm-package.md +4 -3
  128. package/package.json +7 -7
  129. package/runtime/ext_gui/audio.cpp +18 -0
  130. package/runtime/ext_gui/audio_device.cpp +12 -2
  131. package/runtime/ext_gui/browser.cpp +24 -17
  132. package/runtime/ext_gui/browser_loop.cpp +13 -1
  133. package/runtime/ext_gui/canvas.h +1 -1
  134. package/runtime/ext_gui/canvas_raster.cpp +1 -1
  135. package/runtime/ext_gui/canvas_text.cpp +1 -1
  136. package/runtime/ext_gui/dom_api_canvas.cpp +15 -8
  137. package/runtime/ext_gui/dom_api_canvas_extra.cpp +44 -20
  138. package/runtime/ext_gui/dom_api_canvas_image.cpp +3 -1
  139. package/runtime/ext_gui/dom_api_events.cpp +2 -1
  140. package/runtime/ext_gui/dom_api_node_read.cpp +10 -0
  141. package/runtime/ext_gui/dom_api_offscreen.cpp +3 -1
  142. package/runtime/ext_gui/dom_api_style.cpp +7 -0
  143. package/runtime/ext_gui/dom_api_webgl_internal.h +4 -0
  144. package/runtime/ext_gui/dom_api_webgl_source.cpp +5 -2
  145. package/runtime/ext_gui/gpu_bridge.c +28 -0
  146. package/runtime/ext_gui/gpu_feature.cpp +30 -0
  147. package/runtime/ext_gui/gpu_shader.cpp +22 -0
  148. package/runtime/ext_gui/gpu_shader_api.h +50 -0
  149. package/runtime/ext_gui/gui.cpp +13 -37
  150. package/runtime/ext_gui/gui_canvas.cpp +14 -6
  151. package/runtime/ext_gui/gui_engine.h +10 -18
  152. package/runtime/ext_gui/gui_events.cpp +55 -12
  153. package/runtime/ext_gui/gui_keymap.cpp +254 -0
  154. package/runtime/ext_gui/gui_keymap.h +31 -0
  155. package/runtime/ext_gui/gui_webgl.cpp +25 -10
  156. package/runtime/ext_gui/image_api.cpp +18 -0
  157. package/runtime/ext_gui/image_api.h +41 -0
  158. package/runtime/ext_gui/image_bitmap_browser.cpp +20 -11
  159. package/runtime/ext_gui/image_bridge.c +22 -0
  160. package/runtime/ext_gui/image_feature.cpp +105 -0
  161. package/runtime/ext_gui/layout.cpp +13 -8
  162. package/runtime/ext_gui/layout.h +2 -2
  163. package/runtime/ext_gui/media.cpp +4 -2
  164. package/runtime/ext_gui/media.h +3 -3
  165. package/runtime/ext_gui/media_api.h +7 -6
  166. package/runtime/ext_gui/renderer.h +1 -1
  167. package/runtime/ext_gui/renderer_image.cpp +13 -6
  168. package/runtime/ext_gui/renderer_layer.cpp +10 -5
  169. package/runtime/ext_gui/stb_truetype.h +5077 -0
  170. package/runtime/ext_gui/text.cpp +24 -498
  171. package/runtime/ext_gui/text.h +7 -5
  172. package/runtime/ext_gui/text_api.h +45 -0
  173. package/runtime/ext_gui/text_bridge.c +23 -0
  174. package/runtime/ext_gui/text_cache.cpp +1 -1
  175. package/runtime/ext_gui/text_glyph_cache.cpp +2 -2
  176. package/runtime/ext_gui/text_hb.cpp +554 -0
  177. package/runtime/ext_gui/text_stb.cpp +513 -0
  178. package/runtime/ext_gui/webgl_api.cpp +19 -0
  179. package/runtime/ext_gui/webgl_api.h +53 -0
  180. package/runtime/ext_gui/webgl_bridge.c +25 -0
  181. package/runtime/ext_gui/webgl_draw_setup.cpp +42 -1
  182. package/runtime/ext_gui/webgl_feature.cpp +82 -0
  183. package/runtime/ext_gui/webgl_feature.h +28 -0
  184. package/runtime/ext_gui/webgl_msl.cpp +41 -0
  185. package/runtime/ext_gui/webgl_msl.h +6 -0
  186. package/runtime/ext_gui/webgl_shader.cpp +40 -32
  187. package/runtime/ext_gui/window.cpp +17 -8
  188. package/runtime/ext_media/decode_audio.cpp +1 -1
  189. package/runtime/ext_media/media.cpp +1 -1
  190. package/runtime/ext_media/media_bridge.c +7 -7
  191. package/scripts/build-gui.ts +97 -98
  192. package/scripts/check-file-length.ts +1 -0
  193. package/scripts/gui-build-options.ts +122 -0
  194. package/src/cli/extensions.ts +72 -0
  195. package/src/cli/help.ts +3 -1
  196. package/src/cli/hints.ts +9 -3
  197. package/src/cli/main.ts +21 -27
  198. package/src/diagnostics/diagnostic.ts +2 -0
  199. package/src/driver/build-key.ts +3 -0
  200. package/src/driver/compiler.ts +63 -8
  201. package/src/driver/config.ts +6 -0
  202. package/src/driver/link-features.ts +163 -0
  203. package/src/driver/options.ts +10 -0
  204. package/src/driver/runtime-objects.ts +26 -1
  205. package/src/driver/usage.ts +376 -0
  206. package/src/driver/version.ts +1 -1
  207. package/src/extensions/catalog.ts +1 -2
  208. package/src/extensions/gui/features.ts +162 -0
  209. package/src/extensions/gui/index.ts +10 -4
  210. package/src/extensions/link-feature.ts +72 -0
  211. package/src/extensions/registry.ts +45 -4
  212. package/src/index.ts +3 -2
  213. package/dist/src/extensions/media/index.d.ts +0 -28
  214. package/dist/src/extensions/media/index.js +0 -59
  215. package/dist/src/extensions/media/index.js.map +0 -1
  216. package/dist/tests/extensions/media.test.js +0 -63
  217. package/dist/tests/extensions/media.test.js.map +0 -1
  218. package/src/extensions/media/index.ts +0 -65
  219. /package/dist/tests/{extensions/media.test.d.ts → driver/link-features.test.d.ts} +0 -0
package/AGENTS.md CHANGED
@@ -88,7 +88,7 @@ src/binder scopes, symbols, closures
88
88
  src/checker opt-out names, redeclarations, arity, structural types
89
89
  src/codegen AST -> LLVM IR text (values.ts defines the value model)
90
90
  src/driver build orchestration, clang invocation, incremental cache
91
- src/extensions optional compile modules (node/, gui/, media/, native C++/Rust)
91
+ src/extensions optional compile modules (node/, gui/, native C++/Rust) + link features
92
92
  src/diagnostics diagnostic codes and rendering
93
93
  src/cli/main.ts the CLI (`build` / `run` / `emit` / `doctor`)
94
94
  runtime/ the C runtime: values, containers, stdlib, GC, event loop
package/README.md CHANGED
@@ -286,17 +286,18 @@ run(); // main loop, until every window closes
286
286
 
287
287
  ```bash
288
288
  # Source checkout: build the engine archive once (fetches and builds SDL3,
289
- # FreeType and HarfBuzz), then run the bundled example
289
+ # FreeType/HarfBuzz and glslang; default text uses the bundled stb_truetype), then run the bundled example
290
290
  npm run gui
291
291
  npx tsx src/cli/main.ts run examples/gui/hello.ts --ext gui
292
292
 
293
293
  # A release archive or an npm install already ships the engine:
294
294
  xbintsc run app.ts --ext gui
295
295
 
296
- # <video>/<audio> playback is a separate opt-in archive, so GUI-only binaries
297
- # stay FFmpeg-free:
296
+ # <video>/<audio> decoding is an optional link feature: the compiler sees the
297
+ # elements in the page and links the FFmpeg archive for that build only, so a
298
+ # GUI-only binary stays FFmpeg-free.
298
299
  npm run media
299
- xbintsc run examples/gui/media.ts --ext gui,media
300
+ xbintsc run examples/gui/media.ts --ext gui
300
301
  ```
301
302
 
302
303
  A document's `<script>` bodies are **AOT-compiled** by xbintsc into the binary —
package/README.zh-CN.md CHANGED
@@ -230,7 +230,7 @@ run(); // 主循环,直到所有窗口关闭
230
230
  ```
231
231
 
232
232
  ```bash
233
- # 源码检出:先构建一次引擎归档(会获取并构建 SDL3、FreeType 与 HarfBuzz),
233
+ # 源码检出:先构建一次引擎归档(会获取并构建 SDL3、FreeType/HarfBuzz 与 glslang;默认文本使用内置 stb_truetype),
234
234
  # 然后运行仓库自带示例
235
235
  npm run gui
236
236
  npx tsx src/cli/main.ts run examples/gui/hello.ts --ext gui
@@ -238,9 +238,10 @@ npx tsx src/cli/main.ts run examples/gui/hello.ts --ext gui
238
238
  # 发布包或 npm 安装都已经内含该引擎:
239
239
  xbintsc run app.ts --ext gui
240
240
 
241
- # <video>/<audio> 播放是单独的可选归档,因此只做界面的二进制不会链接 FFmpeg:
241
+ # <video>/<audio> 解码是可选的链接特性:编译器从页面里扫到元素后只为本次构建
242
+ # 链接 FFmpeg 归档,因此只做界面的二进制不会链接 FFmpeg:
242
243
  npm run media
243
- xbintsc run examples/gui/media.ts --ext gui,media
244
+ xbintsc run examples/gui/media.ts --ext gui
244
245
  ```
245
246
 
246
247
  文档里的 `<script>` 脚本会被 xbintsc **提前编译(AOT)**进二进制——内联脚本
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Extension-set construction for the CLI.
3
+ *
4
+ * `buildRegistry` turns the `--ext` names into a registry; `normalizeExtensions`
5
+ * keeps the pre-link-feature spelling `--ext media` working by expanding it to
6
+ * `gui` plus a forced `media` feature. Both live here so `main.ts` stays under
7
+ * the repository's per-file line budget.
8
+ */
9
+ import { type ExtensionRegistry } from "../extensions/registry.js";
10
+ /** Register the requested bundled extensions and every native manifest. */
11
+ export declare function buildRegistry(extNames: readonly string[], nativeManifests: readonly string[]): ExtensionRegistry;
12
+ /** The part of the CLI IO a normalization warning needs. */
13
+ export interface ExtensionWarningSink {
14
+ stderr(text: string): void;
15
+ }
16
+ /**
17
+ * `--ext media` predates link features: media is now an optional half of `gui`
18
+ * selected from the program. Keep the old spelling working for one release by
19
+ * expanding it to `gui` plus a forced `media` feature.
20
+ */
21
+ export declare function normalizeExtensions(extNames: readonly string[], io: ExtensionWarningSink): {
22
+ extensions: string[];
23
+ features: string[];
24
+ };
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Extension-set construction for the CLI.
3
+ *
4
+ * `buildRegistry` turns the `--ext` names into a registry; `normalizeExtensions`
5
+ * keeps the pre-link-feature spelling `--ext media` working by expanding it to
6
+ * `gui` plus a forced `media` feature. Both live here so `main.ts` stays under
7
+ * the repository's per-file line budget.
8
+ */
9
+ import { bundledExtensions } from "../extensions/catalog.js";
10
+ import { nativeExtensionFromManifest } from "../extensions/native.js";
11
+ import { createDefaultRegistry } from "../extensions/registry.js";
12
+ /** Register the requested bundled extensions and every native manifest. */
13
+ export function buildRegistry(extNames, nativeManifests) {
14
+ const registry = createDefaultRegistry();
15
+ const bundled = bundledExtensions();
16
+ for (const name of extNames) {
17
+ const extension = bundled.find((candidate) => candidate.name === name);
18
+ if (!extension)
19
+ throw new Error(`Unknown extension '${name}'`);
20
+ registry.register(extension);
21
+ }
22
+ // Each manifest describes a pre-built C++ or Rust library.
23
+ for (const manifest of nativeManifests) {
24
+ registry.register(nativeExtensionFromManifest(manifest));
25
+ }
26
+ // Hint the extensions that ship with xbintsc but were not enabled, so a
27
+ // missing `import` of a known module points at the flag that enables it
28
+ // (`pass --ext node`) instead of failing later with a confusing error.
29
+ for (const extension of bundled) {
30
+ if (!registry.has(extension.name))
31
+ registry.hintExtension(extension);
32
+ }
33
+ return registry;
34
+ }
35
+ /**
36
+ * `--ext media` predates link features: media is now an optional half of `gui`
37
+ * selected from the program. Keep the old spelling working for one release by
38
+ * expanding it to `gui` plus a forced `media` feature.
39
+ */
40
+ export function normalizeExtensions(extNames, io) {
41
+ const extensions = [];
42
+ const features = [];
43
+ let deprecatedMedia = false;
44
+ for (const name of extNames) {
45
+ if (name === "media") {
46
+ deprecatedMedia = true;
47
+ if (!features.includes("media"))
48
+ features.push("media");
49
+ if (!extensions.includes("gui"))
50
+ extensions.push("gui");
51
+ continue;
52
+ }
53
+ if (!extensions.includes(name))
54
+ extensions.push(name);
55
+ }
56
+ if (deprecatedMedia) {
57
+ io.stderr("xbintsc: warning: '--ext media' is deprecated; media is auto-detected with --ext gui " +
58
+ "(use --feature media to force it)\n");
59
+ }
60
+ return { extensions, features };
61
+ }
62
+ //# sourceMappingURL=extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/cli/extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAA0B,MAAM,2BAA2B,CAAC;AAE1F,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAC3B,QAA2B,EAC3B,eAAkC;IAElC,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;QAC/D,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,2DAA2D;IAC3D,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA2B,EAC3B,EAAwB;IAExB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,eAAe,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,MAAM,CACP,uFAAuF;YACrF,qCAAqC,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC"}
@@ -4,4 +4,4 @@
4
4
  * It lives apart from the command dispatch so the executable entry point stays
5
5
  * under the repository's per-file line budget; the text is data, not logic.
6
6
  */
7
- export declare const HELP = "xbintsc 0.5.43 - TypeScript binary compiler\n\nUsage:\n xbintsc build <file.ts> [options] Compile to a native binary\n xbintsc run <file.ts> [-- args] Compile and execute\n xbintsc check <file.ts> Parse, bind and check without linking\n xbintsc watch <file.ts> [options] Rebuild whenever the source tree changes\n xbintsc emit <file.ts> Print LLVM IR\n xbintsc doctor Report the resolved toolchain\n xbintsc version Print the version\n xbintsc help Show this message\n\nOptions:\n -o, --output <path> Output path\n --out <dir> Output directory (default: build/)\n --emit <kind> exe | obj | ir (default: exe)\n -O0..-O3 Optimization level (default: -O2)\n --ext <names> Comma separated extensions (e.g. node,gui,media)\n --ext-native <m> Register a C++/Rust extension from a JSON manifest\n (comma separated for several)\n --config <path> Use a project config (default: auto-detect\n xbintsc.config.json)\n --no-config Do not read any project config\n --icon <path> Embed an application icon (PNG/ICO/ICNS)\n --bundle macOS: also produce a .app bundle\n --app-name <name> Bundle / display name\n --app-id <id> macOS bundle identifier (e.g. com.example.demo)\n --force Ignore the incremental cache\n --verbose Print progress information\n --time Print per-phase build timings\n --debug Emit debug info (DWARF/CodeView) and keep frame pointers\n --check Run the semantic checker (default)\n --no-check Skip the semantic checker; only erase type syntax\n --lto Compile program and runtime to LTO bitcode; link with lld\n --pgo-generate [dir] Build an instrumented binary writing profiles to dir\n --pgo-use [dir] Build with the profiles collected from --pgo-generate\n --json Print diagnostics as a JSON array on stdout\n --no-hints Do not append the \"hint: \u2026 see <doc>\" line to failures\n\nxbintsc compiles a subset of TypeScript to a native binary. Types are erased;\nonly inference-free facts (names, redeclarations, call arity) are checked.\nNode built-ins need --ext node, packages in node_modules are bundled at build\ntime, and clang 16+ is required to link.\n\nInstalled as a project dependency (npm):\n npx xbintsc doctor\n npx xbintsc build <entry.ts> --out build\n npx xbintsc run <entry.ts>\nThe first build compiles the C runtime; later builds reuse the cache.\n\nDocs: doc/ai/README.md (task guide) - doc/ai/language-support.md (subset) -\ndoc/ai/troubleshooting.md (failures) - llms.txt (index of every document).\nWhen installed from npm, these live under node_modules/xbintsc/doc/ and\nnode_modules/xbintsc/doc/npm-package.md is the project guide.\n";
7
+ export declare const HELP = "xbintsc 0.5.51 - TypeScript binary compiler\n\nUsage:\n xbintsc build <file.ts> [options] Compile to a native binary\n xbintsc run <file.ts> [-- args] Compile and execute\n xbintsc check <file.ts> Parse, bind and check without linking\n xbintsc watch <file.ts> [options] Rebuild whenever the source tree changes\n xbintsc emit <file.ts> Print LLVM IR\n xbintsc doctor Report the resolved toolchain\n xbintsc version Print the version\n xbintsc help Show this message\n\nOptions:\n -o, --output <path> Output path\n --out <dir> Output directory (default: build/)\n --emit <kind> exe | obj | ir (default: exe)\n -O0..-O3 Optimization level (default: -O2)\n --ext <names> Comma separated extensions (e.g. node,gui)\n --feature <names> Force optional link features on (media,gpu,images,shaping,webgl,all)\n --no-feature <n> Keep optional link features out even when detected\n --ext-native <m> Register a C++/Rust extension from a JSON manifest\n (comma separated for several)\n --config <path> Use a project config (default: auto-detect\n xbintsc.config.json)\n --no-config Do not read any project config\n --icon <path> Embed an application icon (PNG/ICO/ICNS)\n --bundle macOS: also produce a .app bundle\n --app-name <name> Bundle / display name\n --app-id <id> macOS bundle identifier (e.g. com.example.demo)\n --force Ignore the incremental cache\n --verbose Print progress information\n --time Print per-phase build timings\n --debug Emit debug info (DWARF/CodeView) and keep frame pointers\n --check Run the semantic checker (default)\n --no-check Skip the semantic checker; only erase type syntax\n --lto Compile program and runtime to LTO bitcode; link with lld\n --pgo-generate [dir] Build an instrumented binary writing profiles to dir\n --pgo-use [dir] Build with the profiles collected from --pgo-generate\n --json Print diagnostics as a JSON array on stdout\n --no-hints Do not append the \"hint: \u2026 see <doc>\" line to failures\n\nxbintsc compiles a subset of TypeScript to a native binary. Types are erased;\nonly inference-free facts (names, redeclarations, call arity) are checked.\nNode built-ins need --ext node, packages in node_modules are bundled at build\ntime, and clang 16+ is required to link.\n\nInstalled as a project dependency (npm):\n npx xbintsc doctor\n npx xbintsc build <entry.ts> --out build\n npx xbintsc run <entry.ts>\nThe first build compiles the C runtime; later builds reuse the cache.\n\nDocs: doc/ai/README.md (task guide) - doc/ai/language-support.md (subset) -\ndoc/ai/troubleshooting.md (failures) - llms.txt (index of every document).\nWhen installed from npm, these live under node_modules/xbintsc/doc/ and\nnode_modules/xbintsc/doc/npm-package.md is the project guide.\n";
@@ -23,7 +23,9 @@ Options:
23
23
  --out <dir> Output directory (default: build/)
24
24
  --emit <kind> exe | obj | ir (default: exe)
25
25
  -O0..-O3 Optimization level (default: -O2)
26
- --ext <names> Comma separated extensions (e.g. node,gui,media)
26
+ --ext <names> Comma separated extensions (e.g. node,gui)
27
+ --feature <names> Force optional link features on (media,gpu,images,shaping,webgl,all)
28
+ --no-feature <n> Keep optional link features out even when detected
27
29
  --ext-native <m> Register a C++/Rust extension from a JSON manifest
28
30
  (comma separated for several)
29
31
  --config <path> Use a project config (default: auto-detect
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,gBAAgB;;;;;;;;;;;;;;;;;;;;;0BAqBrB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCzC,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;0BAuBrB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCzC,CAAC"}
@@ -57,9 +57,9 @@ const THROWN_FAILURES = [
57
57
  },
58
58
  },
59
59
  {
60
- /* A dependent extension (`media` needs `gui`) or a missing prebuilt archive
61
- * (`gui.a`/`media.a`) both mean "the extension set is not ready", and the
62
- * extensions guide explains both the flags and `npm run gui`/`media`. */
60
+ /* A dependent extension or a missing prebuilt archive (`gui.a`/`media.a`)
61
+ * both mean "the extension set is not ready", and the extensions guide
62
+ * explains both the flags and `npm run gui`/`media`. */
63
63
  match: /requires the '.*' extension|native library not found/i,
64
64
  code: DiagnosticCode.IOError,
65
65
  pointer: {
@@ -137,6 +137,11 @@ export function documentationFor(diagnostic) {
137
137
  text: "the incremental cache could not be trusted; retry with `--force` or remove the cache directory",
138
138
  path: DOC_CLI,
139
139
  };
140
+ case DiagnosticCode.LinkFeatureUnavailable:
141
+ return {
142
+ text: "check the link-feature name, and build its prebuilt archive (`npm run gui` / `npm run media`) if it is missing; choose features with --feature / --no-feature",
143
+ path: DOC_EXTENSIONS,
144
+ };
140
145
  case DiagnosticCode.CircularDependency:
141
146
  return {
142
147
  text: "xbintsc does not support circular imports; move the shared binding into a third module",
@@ -1 +1 @@
1
- {"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../src/cli/hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../src/cli/hints.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,7 @@ import { findRuntimeLibrary, runtimeLibDir } from "../driver/runtime-lib.js";
23
23
  import { resolveToolchain } from "../driver/toolchain-provider.js";
24
24
  import { MINIMUM_CLANG_MAJOR, probeClang, realRunner, ToolchainError } from "../driver/toolchain.js";
25
25
  import { DOC_CLI, DOC_TROUBLESHOOTING, documentationHints, thrownFailure, toolchainPointer, UNEXPECTED_FAILURE_HINT, } from "./hints.js";
26
- import { createDefaultRegistry } from "../extensions/registry.js";
27
- import { bundledExtensions } from "../extensions/catalog.js";
28
- import { nativeExtensionFromManifest } from "../extensions/native.js";
26
+ import { buildRegistry, normalizeExtensions } from "./extensions.js";
29
27
  import { resolveResourceCompiler } from "../driver/win-icon.js";
30
28
  import { CONFIG_FILE_NAME, findProjectConfig, loadProjectConfig, resolveConfigPaths, } from "../driver/config.js";
31
29
  import { fingerprintTree, startWatching } from "./watch.js";
@@ -49,6 +47,8 @@ const VALUE_FLAGS = new Set([
49
47
  "optimize",
50
48
  "ext",
51
49
  "ext-native",
50
+ "feature",
51
+ "no-feature",
52
52
  "config",
53
53
  "icon",
54
54
  "app-id",
@@ -112,28 +112,6 @@ function parseArgs(argv) {
112
112
  }
113
113
  return { command: positionals.shift(), positionals, flags, passthrough };
114
114
  }
115
- function buildRegistry(extNames, nativeManifests) {
116
- const registry = createDefaultRegistry();
117
- const bundled = bundledExtensions();
118
- for (const name of extNames) {
119
- const extension = bundled.find((candidate) => candidate.name === name);
120
- if (!extension)
121
- throw new Error(`Unknown extension '${name}'`);
122
- registry.register(extension);
123
- }
124
- // Each manifest describes a pre-built C++ or Rust library.
125
- for (const manifest of nativeManifests) {
126
- registry.register(nativeExtensionFromManifest(manifest));
127
- }
128
- // Hint the extensions that ship with xbintsc but were not enabled, so a
129
- // missing `import` of a known module points at the flag that enables it
130
- // (`pass --ext node`) instead of failing later with a confusing error.
131
- for (const extension of bundled) {
132
- if (!registry.has(extension.name))
133
- registry.hintExtension(extension);
134
- }
135
- return registry;
136
- }
137
115
  function printDiagnostics(diagnostics, fileName, io) {
138
116
  /* A diagnostic can come from any module in a bundled program, so load (and
139
117
  * cache) the source of the file it names instead of always using the entry:
@@ -365,7 +343,8 @@ function dispatch(argv, io) {
365
343
  }
366
344
  const extNames = listFlag(args.flags, "ext") ?? resolved.config.extensions ?? [];
367
345
  const nativeManifests = listFlag(args.flags, "ext-native") ?? resolved.config.extNative ?? [];
368
- const registry = buildRegistry(extNames, nativeManifests);
346
+ const { extensions: registryExtensions } = normalizeExtensions(extNames, io);
347
+ const registry = buildRegistry(registryExtensions, nativeManifests);
369
348
  /* Front-end only: parse, bundle, check and lower far enough to report
370
349
  * semantic / unsupported-feature diagnostics, but never invoke clang or
371
350
  * write output. The checker is on unless `--no-check` is passed. */
@@ -420,7 +399,8 @@ function dispatch(argv, io) {
420
399
  }
421
400
  const extNames = listFlag(args.flags, "ext") ?? resolved.config.extensions ?? [];
422
401
  const nativeManifests = listFlag(args.flags, "ext-native") ?? resolved.config.extNative ?? [];
423
- const registry = buildRegistry(extNames, nativeManifests);
402
+ const { extensions: registryExtensions } = normalizeExtensions(extNames, io);
403
+ const registry = buildRegistry(registryExtensions, nativeManifests);
424
404
  const { ir, diagnostics } = compileEntry(entry, registry, {
425
405
  debug: Boolean(args.flags.get("debug")),
426
406
  check: !args.flags.has("no-check"),
@@ -452,7 +432,13 @@ function dispatch(argv, io) {
452
432
  const optimize = args.flags.get("optimize") ?? config.optimize ?? "2";
453
433
  const extNames = listFlag(args.flags, "ext") ?? config.extensions ?? [];
454
434
  const nativeManifests = listFlag(args.flags, "ext-native") ?? config.extNative ?? [];
455
- const registry = buildRegistry(extNames, nativeManifests);
435
+ const normalized = normalizeExtensions(extNames, io);
436
+ const registry = buildRegistry(normalized.extensions, nativeManifests);
437
+ const features = [
438
+ ...normalized.features,
439
+ ...(listFlag(args.flags, "feature") ?? config.features ?? []),
440
+ ];
441
+ const noFeatures = listFlag(args.flags, "no-feature") ?? config.noFeatures ?? [];
456
442
  const pgoGenerate = args.flags.get("pgo-generate");
457
443
  const pgoUse = args.flags.get("pgo-use");
458
444
  if (pgoGenerate !== undefined && pgoUse !== undefined) {
@@ -483,6 +469,8 @@ function dispatch(argv, io) {
483
469
  lto: Boolean(args.flags.get("lto")) || config.lto === true,
484
470
  ...(pgo ? { pgo } : {}),
485
471
  ...(pgoDir ? { pgoDir } : {}),
472
+ ...(features.length > 0 ? { features } : {}),
473
+ ...(noFeatures.length > 0 ? { noFeatures } : {}),
486
474
  });
487
475
  if (result.diagnostics.some((d) => d.category === "error")) {
488
476
  if (args.flags.has("json")) {
@@ -492,6 +480,11 @@ function dispatch(argv, io) {
492
480
  printDiagnostics(result.diagnostics, entry, io);
493
481
  return 1;
494
482
  }
483
+ /* A detected-but-unavailable feature is a warning, not a failure: the
484
+ * program still links and the capability degrades at run time. */
485
+ const warnings = result.diagnostics.filter((d) => d.category === "warning");
486
+ if (warnings.length > 0)
487
+ printDiagnostics(warnings, entry, io);
495
488
  if (args.flags.has("time") && result.timings)
496
489
  printTimings(result.timings, io);
497
490
  if (command === "build") {
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ export declare enum DiagnosticCode {
30
30
  IOError = 6002,
31
31
  ToolchainError = 6003,
32
32
  IncrementalCacheError = 6004,
33
- CircularDependency = 6005
33
+ CircularDependency = 6005,
34
+ /** An optional link feature was requested but its archive is unavailable. */
35
+ LinkFeatureUnavailable = 6006
34
36
  }
35
37
  export interface Diagnostic {
36
38
  readonly category: DiagnosticCategory;
@@ -36,6 +36,8 @@ export var DiagnosticCode;
36
36
  DiagnosticCode[DiagnosticCode["ToolchainError"] = 6003] = "ToolchainError";
37
37
  DiagnosticCode[DiagnosticCode["IncrementalCacheError"] = 6004] = "IncrementalCacheError";
38
38
  DiagnosticCode[DiagnosticCode["CircularDependency"] = 6005] = "CircularDependency";
39
+ /** An optional link feature was requested but its archive is unavailable. */
40
+ DiagnosticCode[DiagnosticCode["LinkFeatureUnavailable"] = 6006] = "LinkFeatureUnavailable";
39
41
  })(DiagnosticCode || (DiagnosticCode = {}));
40
42
  export class DiagnosticError extends Error {
41
43
  diagnostics;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export interface CacheKeyInput {
26
26
  readonly check?: boolean;
27
27
  readonly pgo?: PgoMode;
28
28
  readonly pgoDir: string;
29
+ /** Active optional link features; they change which objects/archives link. */
30
+ readonly features?: readonly string[];
29
31
  }
30
32
  /** Hash every input that can change the produced binary. */
31
33
  export declare function buildCacheKey(input: CacheKeyInput): string;
@@ -31,6 +31,7 @@ export function buildCacheKey(input) {
31
31
  String(input.check !== false),
32
32
  pgo ?? "",
33
33
  pgo ? input.pgoDir : "",
34
+ [...(input.features ?? [])].sort().join(","),
34
35
  ]);
35
36
  }
36
37
  //# sourceMappingURL=build-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-key.js","sourceRoot":"","sources":["../../../src/driver/build-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqBhD,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjC,OAAO,SAAS,CAAC;QACf,gBAAgB;QAChB,mBAAmB,EAAE;QACrB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,QAAQ;QACd,OAAO,CAAC,QAAQ;QAChB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACxF,GAAG,CAAC,IAAI,IAAI,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QAC3B,GAAG,CAAC,QAAQ,IAAI,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;QAC7B,GAAG,IAAI,EAAE;QACT,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"build-key.js","sourceRoot":"","sources":["../../../src/driver/build-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuBhD,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjC,OAAO,SAAS,CAAC;QACf,gBAAgB;QAChB,mBAAmB,EAAE;QACrB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,QAAQ;QACd,OAAO,CAAC,QAAQ;QAChB,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACxF,GAAG,CAAC,IAAI,IAAI,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QAC3B,GAAG,CAAC,QAAQ,IAAI,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;QAC7B,GAAG,IAAI,EAAE;QACT,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACvB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC"}