@litert-lm/core 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -193,8 +193,6 @@ var EXITSTATUS;
193
193
  */ var isFileURI = filename => filename.startsWith("file://");
194
194
 
195
195
  // include: runtime_common.js
196
- // include: runtime_stack_check.js
197
- // end include: runtime_stack_check.js
198
196
  // include: runtime_exceptions.js
199
197
  // Base Emscripten EH error class
200
198
  class EmscriptenEH {}
@@ -207,8 +205,17 @@ class EmscriptenSjLj extends EmscriptenEH {}
207
205
  // Memory management
208
206
  var runtimeInitialized = false;
209
207
 
208
+ // When ALLOW_MEMORY_GROWTH is enabled, the conversion from Wasm
209
+ // memory to ArrayBuffer requires some additional logic.
210
+ function getMemoryBuffer() {
211
+ return wasmMemory.buffer;
212
+ }
213
+
210
214
  function updateMemoryViews() {
211
- var b = wasmMemory.buffer;
215
+ // If we already have a heap that is resizeable/growable buffer we don't
216
+ // need to do anything in updateMemoryViews.
217
+ if (HEAP8?.buffer?.resizable) return;
218
+ var b = getMemoryBuffer();
212
219
  HEAP8 = new Int8Array(b);
213
220
  HEAP16 = new Int16Array(b);
214
221
  Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
@@ -225,11 +232,10 @@ function updateMemoryViews() {
225
232
  // end include: memoryprofiler.js
226
233
  // end include: runtime_common.js
227
234
  function preRun() {
228
- if (Module["preRun"]) {
229
- if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
230
- while (Module["preRun"].length) {
231
- addOnPreRun(Module["preRun"].shift());
232
- }
235
+ var preRun = Module["preRun"];
236
+ if (preRun) {
237
+ if (typeof preRun == "function") preRun = [ preRun ];
238
+ onPreRuns.push(...preRun);
233
239
  }
234
240
  // Begin ATPRERUNS hooks
235
241
  callRuntimeCallbacks(onPreRuns);
@@ -241,18 +247,16 @@ function initRuntime() {
241
247
  if (!Module["noFSInit"] && !FS.initialized) FS.init();
242
248
  TTY.init();
243
249
  // End ATINITS hooks
244
- wasmExports["Db"]();
250
+ wasmExports["Fb"]();
245
251
  // Begin ATPOSTCTORS hooks
246
252
  FS.ignorePermissions = false;
247
253
  }
248
254
 
249
255
  function postRun() {
250
- // PThreads reuse the runtime from the main thread.
251
- if (Module["postRun"]) {
252
- if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
253
- while (Module["postRun"].length) {
254
- addOnPostRun(Module["postRun"].shift());
255
- }
256
+ var postRun = Module["postRun"];
257
+ if (postRun) {
258
+ if (typeof postRun == "function") postRun = [ postRun ];
259
+ onPostRuns.push(...postRun);
256
260
  }
257
261
  // Begin ATPOSTRUNS hooks
258
262
  callRuntimeCallbacks(onPostRuns);
@@ -294,9 +298,6 @@ function findWasmBinary() {
294
298
  }
295
299
 
296
300
  function getBinarySync(file) {
297
- if (file == wasmBinaryFile && wasmBinary) {
298
- return new Uint8Array(wasmBinary);
299
- }
300
301
  if (readBinary) {
301
302
  return readBinary(file);
302
303
  }
@@ -361,7 +362,7 @@ async function createWasm() {
361
362
  // Load the wasm module and create an instance of using native support in the JS engine.
362
363
  // handle a generated wasm instance, receiving its exports and
363
364
  // performing other necessary setup
364
- /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) {
365
+ function receiveInstance(instance) {
365
366
  wasmExports = instance.exports;
366
367
  wasmExports = Asyncify.instrumentWasmExports(wasmExports);
367
368
  wasmExports = applySignatureConversions(wasmExports);
@@ -384,11 +385,10 @@ async function createWasm() {
384
385
  // performing.
385
386
  // Also pthreads and wasm workers initialize the wasm instance through this
386
387
  // path.
387
- if (Module["instantiateWasm"]) {
388
- return new Promise((resolve, reject) => {
389
- Module["instantiateWasm"](info, (inst, mod) => {
390
- resolve(receiveInstance(inst, mod));
391
- });
388
+ var instantiateWasm = Module["instantiateWasm"];
389
+ if (instantiateWasm) {
390
+ return new Promise(resolve => {
391
+ instantiateWasm(info, inst => resolve(receiveInstance(inst)));
392
392
  });
393
393
  }
394
394
  wasmBinaryFile ??= findWasmBinary();
@@ -463,7 +463,7 @@ var callUserCallback = func => {
463
463
  };
464
464
 
465
465
  function getFullscreenElement() {
466
- return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.webkitCurrentFullScreenElement || document.msFullscreenElement;
466
+ return document.fullscreenElement ?? document.webkitFullscreenElement;
467
467
  }
468
468
 
469
469
  /** @param {number=} timeout */ var safeSetTimeout = (func, timeout) => setTimeout(() => {
@@ -481,12 +481,15 @@ var warnOnce = text => {
481
481
 
482
482
  var preloadPlugins = [];
483
483
 
484
+ /** @type {!Int32Array} */ var HEAP32;
485
+
486
+ /** @type {!Uint32Array} */ var HEAPU32;
487
+
484
488
  var Browser = {
485
489
  useWebGL: false,
486
490
  isFullscreen: false,
487
491
  pointerLock: false,
488
492
  moduleContextCreatedCallbacks: [],
489
- workers: [],
490
493
  preloadedImages: {},
491
494
  preloadedAudios: {},
492
495
  getCanvas: () => Module["canvas"],
@@ -553,7 +556,7 @@ var Browser = {
553
556
  var url = URL.createObjectURL(b);
554
557
  // XXX we never revoke this!
555
558
  var audio = new Audio;
556
- audio.addEventListener("canplaythrough", () => finish(audio), false);
559
+ audio.addEventListener("canplaythrough", () => finish(audio));
557
560
  // use addEventListener due to chromium bug 124926
558
561
  audio.onerror = event => {
559
562
  if (done) return;
@@ -601,14 +604,14 @@ var Browser = {
601
604
  if (canvas) {
602
605
  // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
603
606
  // Module['forcedAspectRatio'] = 4 / 3;
604
- document.addEventListener("pointerlockchange", pointerLockChange, false);
607
+ document.addEventListener("pointerlockchange", pointerLockChange);
605
608
  if (Module["elementPointerLock"]) {
606
609
  canvas.addEventListener("click", ev => {
607
610
  if (!Browser.pointerLock && Browser.getCanvas().requestPointerLock) {
608
611
  Browser.getCanvas().requestPointerLock();
609
612
  ev.preventDefault();
610
613
  }
611
- }, false);
614
+ });
612
615
  }
613
616
  }
614
617
  },
@@ -682,32 +685,30 @@ var Browser = {
682
685
  Browser.updateCanvasDimensions(canvas);
683
686
  }
684
687
  }
685
- Module["onFullScreen"]?.(Browser.isFullscreen);
686
- Module["onFullscreen"]?.(Browser.isFullscreen);
687
688
  }
688
689
  if (!Browser.fullscreenHandlersInstalled) {
689
690
  Browser.fullscreenHandlersInstalled = true;
690
- document.addEventListener("fullscreenchange", fullscreenChange, false);
691
- document.addEventListener("mozfullscreenchange", fullscreenChange, false);
692
- document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
693
- document.addEventListener("MSFullscreenChange", fullscreenChange, false);
691
+ document.addEventListener("fullscreenchange", fullscreenChange);
692
+ document.addEventListener("webkitfullscreenchange", fullscreenChange);
694
693
  }
695
694
  // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
696
695
  var canvasContainer = document.createElement("div");
697
696
  canvas.parentNode.insertBefore(canvasContainer, canvas);
698
697
  canvasContainer.appendChild(canvas);
699
698
  // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
700
- canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? () => canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]) : null) || (canvasContainer["webkitRequestFullScreen"] ? () => canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]) : null);
699
+ // Safari didn't support Element.requestFullscreen until 16.4
700
+ // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen
701
+ /** @suppress {checkTypes} */ canvasContainer.requestFullscreen ??= (canvasContainer["webkitRequestFullscreen"] ? () => canvasContainer["webkitRequestFullscreen"](Element.ALLOW_KEYBOARD_INPUT) : null) ?? (canvasContainer["webkitRequestFullScreen"] ? () => canvasContainer["webkitRequestFullScreen"](Element.ALLOW_KEYBOARD_INPUT) : null);
701
702
  canvasContainer.requestFullscreen();
702
703
  },
703
704
  exitFullscreen() {
704
705
  // This is workaround for chrome. Trying to exit from fullscreen
705
- // not in fullscreen state will cause "TypeError: Document not active"
706
+ // not in fullscreen state will cause 'TypeError: Document not active'
706
707
  // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236
707
708
  if (!Browser.isFullscreen) {
708
709
  return false;
709
710
  }
710
- var CFS = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || (() => {});
711
+ var CFS = document.exitFullscreen ?? document["webkitCancelFullScreen"];
711
712
  CFS.apply(document, []);
712
713
  return true;
713
714
  },
@@ -729,14 +730,7 @@ var Browser = {
729
730
  }[name.slice(name.lastIndexOf(".") + 1)];
730
731
  },
731
732
  getUserMedia(func) {
732
- window.getUserMedia ||= navigator["getUserMedia"] || navigator["mozGetUserMedia"];
733
- window.getUserMedia(func);
734
- },
735
- getMovementX(event) {
736
- return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
737
- },
738
- getMovementY(event) {
739
- return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
733
+ return navigator.mediaDevices.getUserMedia(func);
740
734
  },
741
735
  getMouseWheelDelta(event) {
742
736
  var delta = 0;
@@ -814,13 +808,8 @@ var Browser = {
814
808
  if (Browser.pointerLock) {
815
809
  // When the pointer is locked, calculate the coordinates
816
810
  // based on the movement of the mouse.
817
- // Workaround for Firefox bug 764498
818
- if (event.type != "mousemove" && ("mozMovementX" in event)) {
819
- Browser.mouseMovementX = Browser.mouseMovementY = 0;
820
- } else {
821
- Browser.mouseMovementX = Browser.getMovementX(event);
822
- Browser.mouseMovementY = Browser.getMovementY(event);
823
- }
811
+ Browser.mouseMovementX = event.movementX;
812
+ Browser.mouseMovementY = event.movementY;
824
813
  // add the mouse delta to the current absolute mouse position
825
814
  Browser.mouseX += Browser.mouseMovementX;
826
815
  Browser.mouseY += Browser.mouseMovementY;
@@ -889,13 +878,6 @@ var Browser = {
889
878
  }
890
879
  var w = wNative;
891
880
  var h = hNative;
892
- if (Module["forcedAspectRatio"] > 0) {
893
- if (w / h < Module["forcedAspectRatio"]) {
894
- w = Math.round(h * Module["forcedAspectRatio"]);
895
- } else {
896
- h = Math.round(w / Module["forcedAspectRatio"]);
897
- }
898
- }
899
881
  if ((getFullscreenElement() === canvas.parentNode) && (typeof screen != "undefined")) {
900
882
  var factor = Math.min(screen.width / w, screen.height / h);
901
883
  w = Math.round(w * factor);
@@ -924,26 +906,8 @@ var Browser = {
924
906
  }
925
907
  };
926
908
 
927
- /** @type {!Int16Array} */ var HEAP16;
928
-
929
- /** @type {!Int32Array} */ var HEAP32;
930
-
931
- /** not-@type {!BigInt64Array} */ var HEAP64;
932
-
933
909
  /** @type {!Int8Array} */ var HEAP8;
934
910
 
935
- /** @type {!Float32Array} */ var HEAPF32;
936
-
937
- /** @type {!Float64Array} */ var HEAPF64;
938
-
939
- /** @type {!Uint16Array} */ var HEAPU16;
940
-
941
- /** @type {!Uint32Array} */ var HEAPU32;
942
-
943
- /** not-@type {!BigUint64Array} */ var HEAPU64;
944
-
945
- /** @type {!Uint8Array} */ var HEAPU8;
946
-
947
911
  var callRuntimeCallbacks = callbacks => {
948
912
  while (callbacks.length > 0) {
949
913
  // Pass the module as the first argument.
@@ -953,12 +917,8 @@ var callRuntimeCallbacks = callbacks => {
953
917
 
954
918
  var onPostRuns = [];
955
919
 
956
- var addOnPostRun = cb => onPostRuns.push(cb);
957
-
958
920
  var onPreRuns = [];
959
921
 
960
- var addOnPreRun = cb => onPreRuns.push(cb);
961
-
962
922
  var dynCalls = {};
963
923
 
964
924
  var dynCallLegacy = (sig, ptr, args) => {
@@ -1114,7 +1074,7 @@ var initRandomFill = () => {
1114
1074
  // This block is not needed on v19+ since crypto.getRandomValues is builtin
1115
1075
  if (ENVIRONMENT_IS_NODE) {
1116
1076
  var nodeCrypto = require("node:crypto");
1117
- return view => nodeCrypto.randomFillSync(view);
1077
+ return view => (nodeCrypto.randomFillSync(view), 0);
1118
1078
  }
1119
1079
  return view => (crypto.getRandomValues(view), 0);
1120
1080
  };
@@ -1176,7 +1136,13 @@ var PATH_FS = {
1176
1136
 
1177
1137
  var UTF8Decoder = new TextDecoder;
1178
1138
 
1179
- var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
1139
+ /**
1140
+ * heapOrArray is either a regular array, or a JavaScript typed array view.
1141
+ * @param {number} idx
1142
+ * @param {number=} maxBytesToRead
1143
+ * @param {boolean=} ignoreNul
1144
+ * @return {number}
1145
+ */ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
1180
1146
  var maxIdx = idx + maxBytesToRead;
1181
1147
  if (ignoreNul) return maxIdx;
1182
1148
  // TextDecoder needs to know the byte length in advance, it doesn't stop on
@@ -1441,6 +1407,8 @@ var TTY = {
1441
1407
  }
1442
1408
  };
1443
1409
 
1410
+ /** @type {!Uint8Array} */ var HEAPU8;
1411
+
1444
1412
  var zeroMemory = (ptr, size) => HEAPU8.fill(0, ptr, ptr + size);
1445
1413
 
1446
1414
  var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
@@ -1802,23 +1770,26 @@ var FS_createDataFile = (...args) => FS.createDataFile(...args);
1802
1770
 
1803
1771
  var getUniqueRunDependency = id => id;
1804
1772
 
1773
+ var dependenciesPromise = null;
1774
+
1775
+ var resolveRunDependencies = async () => dependenciesPromise;
1776
+
1805
1777
  var runDependencies = 0;
1806
1778
 
1807
- var dependenciesFulfilled = null;
1779
+ var dependenciesPromiseResolve = null;
1808
1780
 
1809
1781
  var removeRunDependency = id => {
1810
1782
  runDependencies--;
1811
1783
  Module["monitorRunDependencies"]?.(runDependencies);
1812
- if (runDependencies == 0) {
1813
- if (dependenciesFulfilled) {
1814
- var callback = dependenciesFulfilled;
1815
- dependenciesFulfilled = null;
1816
- callback();
1817
- }
1784
+ if (!runDependencies) {
1785
+ dependenciesPromiseResolve();
1818
1786
  }
1819
1787
  };
1820
1788
 
1821
1789
  var addRunDependency = id => {
1790
+ if (!runDependencies) {
1791
+ dependenciesPromise = new Promise(resolve => dependenciesPromiseResolve = resolve);
1792
+ }
1822
1793
  runDependencies++;
1823
1794
  Module["monitorRunDependencies"]?.(runDependencies);
1824
1795
  };
@@ -1952,6 +1923,53 @@ var FS = {
1952
1923
  get isDevice() {
1953
1924
  return FS.isChrdev(this.mode);
1954
1925
  }
1926
+ // The per-inode readiness wait-queue. The node carries a Set of listener
1927
+ // entries {cb}; producers (SOCKFS, PIPEFS) call notifyListeners on a
1928
+ // readiness transition, and poll()/epoll consume it. It lives on the node
1929
+ // (not the fd) so dup'd fds share one queue. Only nodes that derive real
1930
+ // readiness (sockets, pipes, and an epoll's own node) ever use this -
1931
+ // always-ready types (regular files, ttys) never register or notify.
1932
+ addListener(cb, exclusive = false) {
1933
+ var entry = {
1934
+ cb,
1935
+ exclusive
1936
+ };
1937
+ var listeners = (this.listeners ??= new Set);
1938
+ listeners.add(entry);
1939
+ return {
1940
+ listeners,
1941
+ entry
1942
+ };
1943
+ }
1944
+ notifyListeners(flags) {
1945
+ // Iterates the set without copying, which is safe ONLY under a
1946
+ // load-bearing contract that every internal listener must honour:
1947
+ // 1. A listener must not run user code synchronously (a poll waiter only
1948
+ // resolves a Promise; an epoll registration only re-lists +
1949
+ // re-notifies; the epoll callback only schedules a tick). User code
1950
+ // runs on a later tick, never inside this loop.
1951
+ // 2. A listener may delete entries only from ITS OWN waiter, never from
1952
+ // a sibling node's set that may be mid-iteration. (Deleting an entry
1953
+ // of the set being iterated here is fine - a Set tolerates removal of
1954
+ // a not-yet-visited entry mid-iteration; mutating a *different* node's
1955
+ // set is fine because that set is not being iterated.)
1956
+ // Violating either gives silently skipped wakeups that are near-impossible
1957
+ // to reproduce. Any new producer/listener must preserve it.
1958
+ if (!this.listeners) return;
1959
+ // Fire every non-exclusive listener. Among EPOLLEXCLUSIVE registrations
1960
+ // (one fd watched by several epolls) wake only one, rotating round-robin
1961
+ // per node, to avoid a thundering herd. (Only epoll registrations are ever
1962
+ // exclusive; poll waiters and a node's own consumers are not.)
1963
+ var excl;
1964
+ for (var entry of this.listeners) {
1965
+ if (entry.exclusive) (excl ||= []).push(entry); else entry.cb(flags);
1966
+ }
1967
+ if (excl) {
1968
+ var i = (this.exclTurn || 0) % excl.length;
1969
+ this.exclTurn = i + 1;
1970
+ excl[i].cb(flags);
1971
+ }
1972
+ }
1955
1973
  },
1956
1974
  lookupPath(path, opts = {}) {
1957
1975
  if (!path) {
@@ -2497,6 +2515,27 @@ var FS = {
2497
2515
  }
2498
2516
  return parent.node_ops.symlink(parent, newname, oldpath);
2499
2517
  },
2518
+ link(oldpath, newpath, flags) {
2519
+ var lookup = FS.lookupPath(newpath, {
2520
+ parent: true
2521
+ });
2522
+ var parent = lookup.node;
2523
+ if (!parent) {
2524
+ throw new FS.ErrnoError(44);
2525
+ }
2526
+ var newname = PATH.basename(newpath);
2527
+ var errCode = FS.mayCreate(parent, newname);
2528
+ if (errCode) {
2529
+ throw new FS.ErrnoError(errCode);
2530
+ }
2531
+ // Hardlinks are only supported by filesystem backends that provide a
2532
+ // `link` node op (e.g. NODERAWFS backed by the host). NODEFS omits it:
2533
+ // a host hardlink cannot be confined to the mount root.
2534
+ if (!parent.node_ops.link) {
2535
+ throw new FS.ErrnoError(34);
2536
+ }
2537
+ return parent.node_ops.link(parent, newname, oldpath, flags);
2538
+ },
2500
2539
  rename(old_path, new_path) {
2501
2540
  var old_dirname = PATH.dirname(old_path);
2502
2541
  var new_dirname = PATH.dirname(new_path);
@@ -2754,15 +2793,14 @@ var FS = {
2754
2793
  }
2755
2794
  FS.doTruncate(stream, stream.node, len);
2756
2795
  },
2757
- utime(path, atime, mtime) {
2796
+ utime(path, atime, mtime, dontFollow) {
2758
2797
  var lookup = FS.lookupPath(path, {
2759
- follow: true
2798
+ follow: !dontFollow
2760
2799
  });
2761
- var node = lookup.node;
2762
- var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
2763
- setattr(node, {
2800
+ FS.doSetAttr(null, lookup.node, {
2764
2801
  atime,
2765
- mtime
2802
+ mtime,
2803
+ dontFollow
2766
2804
  });
2767
2805
  },
2768
2806
  open(path, flags, mode = 438) {
@@ -2864,6 +2902,11 @@ var FS = {
2864
2902
  }
2865
2903
  if (stream.getdents) stream.getdents = null;
2866
2904
  // free readdir state
2905
+ // The fd is going away: wake anything waiting on it (poll/epoll) with
2906
+ // POLLNVAL so a blocking wait unblocks and an epoll registration is evicted
2907
+ // on its next derive. Only sockets/pipes/epoll ever carry a wait-queue, so
2908
+ // for every other stream (incl. nodeless noderawfs stdio) this is a no-op.
2909
+ stream.node?.notifyListeners(32);
2867
2910
  try {
2868
2911
  if (stream.stream_ops.close) {
2869
2912
  stream.stream_ops.close(stream);
@@ -3331,7 +3374,7 @@ var FS = {
3331
3374
  var xhr = new XMLHttpRequest;
3332
3375
  xhr.open("HEAD", url, false);
3333
3376
  xhr.send(null);
3334
- if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status);
3377
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
3335
3378
  var datalength = Number(xhr.getResponseHeader("Content-length"));
3336
3379
  var header;
3337
3380
  var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
@@ -3346,14 +3389,14 @@ var FS = {
3346
3389
  // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
3347
3390
  var xhr = new XMLHttpRequest;
3348
3391
  xhr.open("GET", url, false);
3349
- if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
3392
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", `bytes=${from}-${to}`);
3350
3393
  // Some hints to the browser that we want binary data.
3351
3394
  xhr.responseType = "arraybuffer";
3352
3395
  if (xhr.overrideMimeType) {
3353
3396
  xhr.overrideMimeType("text/plain; charset=x-user-defined");
3354
3397
  }
3355
3398
  xhr.send(null);
3356
- if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status);
3399
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
3357
3400
  if (xhr.response !== undefined) {
3358
3401
  return new Uint8Array(/** @type{Array<number>} */ (xhr.response || []));
3359
3402
  }
@@ -3495,6 +3538,8 @@ var FS = {
3495
3538
  return UTF8Decoder.decode(HEAPU8.subarray(ptr >>> 0, end >>> 0));
3496
3539
  };
3497
3540
 
3541
+ /** not-@type {!BigInt64Array} */ var HEAP64;
3542
+
3498
3543
  var SYSCALLS = {
3499
3544
  currentUmask: 18,
3500
3545
  calculateAt(dirfd, path, allowEmpty) {
@@ -3560,7 +3605,7 @@ var SYSCALLS = {
3560
3605
  // MAP_PRIVATE calls need not to be synced back to underlying fs
3561
3606
  return 0;
3562
3607
  }
3563
- var buffer = HEAPU8.slice(addr, addr + len);
3608
+ var buffer = HEAPU8.subarray(addr >>> 0, addr + len >>> 0);
3564
3609
  FS.msync(stream, buffer, offset, len, flags);
3565
3610
  },
3566
3611
  getStreamFromFD(fd) {
@@ -3623,6 +3668,8 @@ var syscallGetVarargI = () => {
3623
3668
 
3624
3669
  var syscallGetVarargP = syscallGetVarargI;
3625
3670
 
3671
+ /** @type {!Int16Array} */ var HEAP16;
3672
+
3626
3673
  function ___syscall_fcntl64(fd, cmd, varargs) {
3627
3674
  varargs >>>= 0;
3628
3675
  SYSCALLS.varargs = varargs;
@@ -3780,6 +3827,8 @@ function ___syscall_getdents64(fd, dirp, count) {
3780
3827
  }
3781
3828
  }
3782
3829
 
3830
+ var ___syscall_getuid32 = () => 0;
3831
+
3783
3832
  function ___syscall_ioctl(fd, op, varargs) {
3784
3833
  varargs >>>= 0;
3785
3834
  SYSCALLS.varargs = varargs;
@@ -4034,6 +4083,7 @@ function ___syscall_utimensat(dirfd, path, times, flags) {
4034
4083
  path >>>= 0;
4035
4084
  times >>>= 0;
4036
4085
  try {
4086
+ var nofollow = flags & 256;
4037
4087
  path = SYSCALLS.getStr(path);
4038
4088
  path = SYSCALLS.calculateAt(dirfd, path, true);
4039
4089
  var now = Date.now(), atime, mtime;
@@ -4064,7 +4114,7 @@ function ___syscall_utimensat(dirfd, path, times, flags) {
4064
4114
  // null here means UTIME_OMIT was passed. If both were set to UTIME_OMIT then
4065
4115
  // we can skip the call completely.
4066
4116
  if ((mtime ?? atime) !== null) {
4067
- FS.utime(path, atime, mtime);
4117
+ FS.utime(path, atime, mtime, nofollow);
4068
4118
  }
4069
4119
  return 0;
4070
4120
  } catch (e) {
@@ -4095,12 +4145,12 @@ var registeredTypes = {};
4095
4145
 
4096
4146
  var typeDependencies = {};
4097
4147
 
4098
- var InternalError = class InternalError extends Error {
4148
+ class InternalError extends Error {
4099
4149
  constructor(message) {
4100
4150
  super(message);
4101
4151
  this.name = "InternalError";
4102
4152
  }
4103
- };
4153
+ }
4104
4154
 
4105
4155
  var throwInternalError = message => {
4106
4156
  throw new InternalError(message);
@@ -4212,12 +4262,12 @@ var AsciiToString = ptr => {
4212
4262
  }
4213
4263
  };
4214
4264
 
4215
- var BindingError = class BindingError extends Error {
4265
+ class BindingError extends Error {
4216
4266
  constructor(message) {
4217
4267
  super(message);
4218
4268
  this.name = "BindingError";
4219
4269
  }
4220
- };
4270
+ }
4221
4271
 
4222
4272
  var throwBindingError = message => {
4223
4273
  throw new BindingError(message);
@@ -4248,6 +4298,10 @@ var throwBindingError = message => {
4248
4298
  return sharedRegisterType(rawType, registeredInstance, options);
4249
4299
  }
4250
4300
 
4301
+ /** @type {!Uint16Array} */ var HEAPU16;
4302
+
4303
+ /** not-@type {!BigUint64Array} */ var HEAPU64;
4304
+
4251
4305
  var integerReadValueFromPointer = (name, width, signed) => {
4252
4306
  // integers are quite common, so generate very specialized functions
4253
4307
  switch (width) {
@@ -5210,12 +5264,12 @@ function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cp
5210
5264
  // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI.
5211
5265
  var argCount = argTypes.length;
5212
5266
  if (argCount < 2) {
5213
- throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
5267
+ throwBindingError("argTypes array size mismatch! Must at least get return value and receiver (this) types!");
5214
5268
  }
5215
5269
  var isClassMethodFunc = (argTypes[1] !== null && classType !== null);
5216
5270
  // Free functions with signature "void function()" do not need an invoker that marshalls between wire types.
5217
5271
  // TODO: This omits argument count check - enable only at -O3 or similar.
5218
- // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) {
5272
+ // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == 'void' && !isClassMethodFunc) {
5219
5273
  // return FUNCTION_TABLE[fn];
5220
5274
  // }
5221
5275
  // Determine if we need to use a dynamic stack to store the destructors for the function parameters.
@@ -5637,6 +5691,10 @@ function __embind_register_enum_value(rawEnumType, name, enumValue) {
5637
5691
  }
5638
5692
  }
5639
5693
 
5694
+ /** @type {!Float32Array} */ var HEAPF32;
5695
+
5696
+ /** @type {!Float64Array} */ var HEAPF64;
5697
+
5640
5698
  var floatReadValueFromPointer = (name, width) => {
5641
5699
  switch (width) {
5642
5700
  case 4:
@@ -5888,9 +5946,7 @@ var UTF16ToString = (ptr, maxBytesToRead, ignoreNul) => {
5888
5946
  return UTF16Decoder.decode(HEAPU16.subarray(idx >>> 0, endIdx >>> 0));
5889
5947
  };
5890
5948
 
5891
- var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
5892
- // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
5893
- maxBytesToWrite ??= 2147483647;
5949
+ var stringToUTF16 = (str, outPtr, maxBytesToWrite = 2147483647) => {
5894
5950
  if (maxBytesToWrite < 2) return 0;
5895
5951
  maxBytesToWrite -= 2;
5896
5952
  // Null terminator.
@@ -5923,10 +5979,8 @@ var UTF32ToString = (ptr, maxBytesToRead, ignoreNul) => {
5923
5979
  return str;
5924
5980
  };
5925
5981
 
5926
- var stringToUTF32 = (str, outPtr, maxBytesToWrite) => {
5982
+ var stringToUTF32 = (str, outPtr, maxBytesToWrite = 2147483647) => {
5927
5983
  outPtr >>>= 0;
5928
- // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
5929
- maxBytesToWrite ??= 2147483647;
5930
5984
  if (maxBytesToWrite < 4) return 0;
5931
5985
  var startPtr = outPtr;
5932
5986
  var endPtr = startPtr + maxBytesToWrite - 4;
@@ -6198,6 +6252,9 @@ function __gmtime_js(time, tmPtr) {
6198
6252
  time = bigintToI53Checked(time);
6199
6253
  tmPtr >>>= 0;
6200
6254
  var date = new Date(time * 1e3);
6255
+ if (isNaN(date.getTime())) {
6256
+ return 1;
6257
+ }
6201
6258
  HEAP32[((tmPtr) >>> 2) >>> 0] = date.getUTCSeconds();
6202
6259
  HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0] = date.getUTCMinutes();
6203
6260
  HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0] = date.getUTCHours();
@@ -6208,6 +6265,7 @@ function __gmtime_js(time, tmPtr) {
6208
6265
  var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
6209
6266
  var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;
6210
6267
  HEAP32[(((tmPtr) + (28)) >>> 2) >>> 0] = yday;
6268
+ return 0;
6211
6269
  }
6212
6270
 
6213
6271
  var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
@@ -6228,6 +6286,9 @@ function __localtime_js(time, tmPtr) {
6228
6286
  time = bigintToI53Checked(time);
6229
6287
  tmPtr >>>= 0;
6230
6288
  var date = new Date(time * 1e3);
6289
+ if (isNaN(date.getTime())) {
6290
+ return 1;
6291
+ }
6231
6292
  HEAP32[((tmPtr) >>> 2) >>> 0] = date.getSeconds();
6232
6293
  HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0] = date.getMinutes();
6233
6294
  HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0] = date.getHours();
@@ -6244,6 +6305,7 @@ function __localtime_js(time, tmPtr) {
6244
6305
  var winterOffset = start.getTimezoneOffset();
6245
6306
  var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
6246
6307
  HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0] = dst;
6308
+ return 0;
6247
6309
  }
6248
6310
 
6249
6311
  var __mktime_js = function(tmPtr) {
@@ -6265,13 +6327,17 @@ var __mktime_js = function(tmPtr) {
6265
6327
  // DST is in December in South
6266
6328
  if (dst < 0) {
6267
6329
  // Attention: some regions don't have DST at all.
6268
- HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);
6330
+ dst = Number(summerOffset != winterOffset && dstOffset == guessedOffset);
6269
6331
  } else if ((dst > 0) != (dstOffset == guessedOffset)) {
6270
6332
  var nonDstOffset = Math.max(winterOffset, summerOffset);
6271
6333
  var trueOffset = dst > 0 ? dstOffset : nonDstOffset;
6272
6334
  // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up.
6273
6335
  date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
6336
+ if (isNaN(date.getTime())) {
6337
+ return -1;
6338
+ }
6274
6339
  }
6340
+ HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0] = dst;
6275
6341
  HEAP32[(((tmPtr) + (24)) >>> 2) >>> 0] = date.getDay();
6276
6342
  var yday = ydayFromDate(date) | 0;
6277
6343
  HEAP32[(((tmPtr) + (28)) >>> 2) >>> 0] = yday;
@@ -6607,7 +6673,7 @@ function _emscripten_stack_unwind_buffer(addr, buffer, count) {
6607
6673
  ++offset;
6608
6674
  }
6609
6675
  for (var i = 0; i < count && stack[i + offset]; ++i) {
6610
- HEAP32[(((buffer) + (i * 4)) >>> 2) >>> 0] = convertFrameToPC(stack[i + offset]);
6676
+ HEAPU32[(((buffer) + (i * 4)) >>> 2) >>> 0] = convertFrameToPC(stack[i + offset]);
6611
6677
  }
6612
6678
  return i;
6613
6679
  }
@@ -7091,6 +7157,28 @@ var WebGPU = {
7091
7157
  HEAP32[(((infoStruct) + (40)) >>> 2) >>> 0] = adapterType;
7092
7158
  HEAPU32[(((infoStruct) + (44)) >>> 2) >>> 0] = 0;
7093
7159
  HEAPU32[(((infoStruct) + (48)) >>> 2) >>> 0] = 0;
7160
+ WebGPU.iterateExtensions(infoStruct, {
7161
+ 327739: ext => {
7162
+ let configCount = 0;
7163
+ let configsPtr = 0;
7164
+ if (info.subgroupMatrixConfigs) {
7165
+ configCount = info.subgroupMatrixConfigs.length;
7166
+ configsPtr = _malloc(configCount * 20);
7167
+ for (const [i, cfg] of info.subgroupMatrixConfigs.entries()) {
7168
+ const ptr = configsPtr + i * 20;
7169
+ const componentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.componentType);
7170
+ const resultComponentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.resultComponentType);
7171
+ HEAP32[((ptr) >>> 2) >>> 0] = componentType;
7172
+ HEAP32[(((ptr) + (4)) >>> 2) >>> 0] = resultComponentType;
7173
+ HEAPU32[(((ptr) + (8)) >>> 2) >>> 0] = cfg.M;
7174
+ HEAPU32[(((ptr) + (12)) >>> 2) >>> 0] = cfg.N;
7175
+ HEAPU32[(((ptr) + (16)) >>> 2) >>> 0] = cfg.K;
7176
+ }
7177
+ }
7178
+ HEAPU32[(((ext) + (12)) >>> 2) >>> 0] = configsPtr;
7179
+ HEAPU32[(((ext) + (8)) >>> 2) >>> 0] = configCount;
7180
+ }
7181
+ });
7094
7182
  },
7095
7183
  AddressMode: [ , "clamp-to-edge", "repeat", "mirror-repeat" ],
7096
7184
  BlendFactor: [ , "zero", "one", "src", "one-minus-src", "src-alpha", "one-minus-src-alpha", "dst", "one-minus-dst", "dst-alpha", "one-minus-dst-alpha", "src-alpha-saturated", "constant", "one-minus-constant", "src1", "one-minus-src1", "src1-alpha", "one-minus-src1-alpha" ],
@@ -7129,7 +7217,8 @@ var WebGPU = {
7129
7217
  22: "texture-component-swizzle",
7130
7218
  23: "subgroup-size-control",
7131
7219
  327692: "chromium-experimental-unorm16-texture-formats",
7132
- 327729: "chromium-experimental-multi-draw-indirect"
7220
+ 327729: "chromium-experimental-multi-draw-indirect",
7221
+ 327732: "chromium-experimental-subgroup-matrix"
7133
7222
  },
7134
7223
  FilterMode: [ , "nearest", "linear" ],
7135
7224
  FrontFace: [ , "ccw", "cw" ],
@@ -7147,6 +7236,7 @@ var WebGPU = {
7147
7236
  StencilOperation: [ , "keep", "zero", "replace", "invert", "increment-clamp", "decrement-clamp", "increment-wrap", "decrement-wrap" ],
7148
7237
  StorageTextureAccess: [ , , "write-only", "read-only", "read-write" ],
7149
7238
  StoreOp: [ , "store", "discard" ],
7239
+ SubgroupMatrixComponentType: [ , "f32", "f16", "u32", "i32", "u8", "i8" ],
7150
7240
  SurfaceGetCurrentTextureStatus: [ , "success-optimal", "success-suboptimal", "timeout", "outdated", "lost", "error" ],
7151
7241
  TextureAspect: [ , "all", "stencil-only", "depth-only" ],
7152
7242
  TextureDimension: [ , "1d", "2d", "3d" ],
@@ -7156,7 +7246,7 @@ var WebGPU = {
7156
7246
  ToneMappingMode: [ , "standard", "extended" ],
7157
7247
  VertexFormat: [ , "uint8", "uint8x2", "uint8x4", "sint8", "sint8x2", "sint8x4", "unorm8", "unorm8x2", "unorm8x4", "snorm8", "snorm8x2", "snorm8x4", "uint16", "uint16x2", "uint16x4", "sint16", "sint16x2", "sint16x4", "unorm16", "unorm16x2", "unorm16x4", "snorm16", "snorm16x2", "snorm16x4", "float16", "float16x2", "float16x4", "float32", "float32x2", "float32x3", "float32x4", "uint32", "uint32x2", "uint32x3", "uint32x4", "sint32", "sint32x2", "sint32x3", "sint32x4", "unorm10-10-10-2", "unorm8x4-bgra", "snorm10-10-10-2" ],
7158
7248
  VertexStepMode: [ , "vertex", "instance" ],
7159
- WGSLLanguageFeatureName: [ , "readonly_and_readwrite_storage_textures", "packed_4x8_integer_dot_product", "unrestricted_pointer_parameters", "pointer_composite_access", "uniform_buffer_standard_layout", "subgroup_id", "texture_and_sampler_let", "subgroup_uniformity", "texture_formats_tier1", "linear_indexing", "immediate_address_space" ]
7249
+ WGSLLanguageFeatureName: [ , "readonly_and_readwrite_storage_textures", "packed_4x8_integer_dot_product", "unrestricted_pointer_parameters", "pointer_composite_access", "uniform_buffer_standard_layout", "subgroup_id", "texture_and_sampler_let", "subgroup_uniformity", "texture_formats_tier1", "linear_indexing", "immediate_address_space", "buffer_view", "swizzle_assignment", "fragment_depth" ]
7160
7250
  };
7161
7251
 
7162
7252
  function _emscripten_webgpu_get_device() {
@@ -7484,7 +7574,17 @@ function _fd_close(fd) {
7484
7574
  var ptr = HEAPU32[((iov) >>> 2) >>> 0];
7485
7575
  var len = HEAPU32[(((iov) + (4)) >>> 2) >>> 0];
7486
7576
  iov += 8;
7487
- var curr = FS.read(stream, HEAP8, ptr, len, offset);
7577
+ try {
7578
+ var curr = FS.read(stream, HEAP8, ptr, len, offset);
7579
+ } catch (e) {
7580
+ // On a non-blocking stream a subsequent read may would-block after we
7581
+ // already gathered data. POSIX readv is a single gather-read: return
7582
+ // what we have rather than failing the whole call.
7583
+ if (ret > 0 && e instanceof FS.ErrnoError && (e.errno == 6 || e.errno == 6)) {
7584
+ break;
7585
+ }
7586
+ throw e;
7587
+ }
7488
7588
  if (curr < 0) return -1;
7489
7589
  ret += curr;
7490
7590
  if (curr < len) break;
@@ -7546,23 +7646,27 @@ function _fd_seek(fd, offset, whence, newOffset) {
7546
7646
  }
7547
7647
 
7548
7648
  /** @param {number=} offset */ var doWritev = (stream, iov, iovcnt, offset) => {
7549
- var ret = 0;
7550
- for (var i = 0; i < iovcnt; i++) {
7649
+ // Gather all iovecs into one contiguous buffer and issue a single
7650
+ // FS.write, matching POSIX writev's single gather-write semantics (as
7651
+ // __syscall_sendmsg already does). Per-iovec writes fragment a stream
7652
+ // socket send into multiple segments, breaking stream byte semantics.
7653
+ if (iovcnt == 1) {
7654
+ // Single iovec: write directly from HEAP8, no gather buffer needed.
7655
+ return FS.write(stream, HEAP8, HEAPU32[((iov) >>> 2) >>> 0], HEAPU32[(((iov) + (4)) >>> 2) >>> 0], offset);
7656
+ }
7657
+ var total = 0;
7658
+ for (var i = 0, p = iov; i < iovcnt; i++, p += 8) {
7659
+ total += HEAPU32[(((p) + (4)) >>> 2) >>> 0];
7660
+ }
7661
+ var view = new Uint8Array(total);
7662
+ var voff = 0;
7663
+ for (var i = 0; i < iovcnt; i++, iov += 8) {
7551
7664
  var ptr = HEAPU32[((iov) >>> 2) >>> 0];
7552
7665
  var len = HEAPU32[(((iov) + (4)) >>> 2) >>> 0];
7553
- iov += 8;
7554
- var curr = FS.write(stream, HEAP8, ptr, len, offset);
7555
- if (curr < 0) return -1;
7556
- ret += curr;
7557
- if (curr < len) {
7558
- // No more space to write.
7559
- break;
7560
- }
7561
- if (typeof offset != "undefined") {
7562
- offset += curr;
7563
- }
7666
+ view.set(HEAPU8.subarray(ptr >>> 0, ptr + len >>> 0), voff);
7667
+ voff += len;
7564
7668
  }
7565
- return ret;
7669
+ return FS.write(stream, view, 0, total, offset);
7566
7670
  };
7567
7671
 
7568
7672
  function _fd_write(fd, iov, iovcnt, pnum) {
@@ -7730,6 +7834,14 @@ function _wgpuComputePassEncoderSetPipeline(passPtr, pipelinePtr) {
7730
7834
  pass.setPipeline(pipeline);
7731
7835
  }
7732
7836
 
7837
+ function _wgpuComputePipelineGetBindGroupLayout(pipelinePtr, groupIndex) {
7838
+ pipelinePtr >>>= 0;
7839
+ var pipeline = WebGPU.getJsObject(pipelinePtr);
7840
+ var ptr = _emwgpuCreateBindGroupLayout(0);
7841
+ WebGPU.Internals.jsObjectInsert(ptr, pipeline.getBindGroupLayout(groupIndex));
7842
+ return ptr;
7843
+ }
7844
+
7733
7845
  var _wgpuDeviceCreateBindGroup = function(devicePtr, descriptor) {
7734
7846
  devicePtr >>>= 0;
7735
7847
  descriptor >>>= 0;
@@ -8086,18 +8198,19 @@ init_RegisteredPointer();
8086
8198
  // but before the wasm module is created.
8087
8199
  {
8088
8200
  // Begin ATMODULES hooks
8089
- if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
8090
8201
  if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
8091
8202
  if (Module["print"]) out = Module["print"];
8092
8203
  if (Module["printErr"]) err = Module["printErr"];
8093
- if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
8094
8204
  // End ATMODULES hooks
8095
8205
  if (Module["arguments"]) programArgs = Module["arguments"];
8096
8206
  if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
8097
- if (Module["preInit"]) {
8098
- if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
8099
- while (Module["preInit"].length > 0) {
8100
- Module["preInit"].shift()();
8207
+ var preInit = Module["preInit"];
8208
+ if (preInit) {
8209
+ if (typeof preInit == "function") Module["preInit"] = preInit = [ preInit ];
8210
+ // Written as a loop so that preInit functions that themselves add more
8211
+ // preInit functions. Is this actually needed?
8212
+ while (preInit.length > 0) {
8213
+ preInit.shift()();
8101
8214
  }
8102
8215
  }
8103
8216
  }
@@ -8126,8 +8239,8 @@ Module["FS_createLazyFile"] = FS_createLazyFile;
8126
8239
  // End JS library exports
8127
8240
  // end include: postlibrary.js
8128
8241
  var ASM_CONSTS = {
8129
- 2207465: () => !!Module["preinitializedWebGPUDevice"],
8130
- 2207516: $0 => {
8242
+ 2287673: () => !!Module["preinitializedWebGPUDevice"],
8243
+ 2287724: $0 => {
8131
8244
  const device = WebGPU.getJsObject($0);
8132
8245
  return device.features.has("subgroups");
8133
8246
  }
@@ -8207,12 +8320,19 @@ function __asyncjs__CallStreamWeightsOnWeb(tfl_ids, wgpu_buffers, offsets, lengt
8207
8320
  console.error("Stream weights callback is not registered or is not a function");
8208
8321
  return 1;
8209
8322
  }
8210
- const tflIdsArray = new Int32Array(Module.HEAP32.buffer, tfl_ids, count);
8211
- const wgpuBuffersArray = new Uint32Array(Module.HEAPU32.buffer, wgpu_buffers, count);
8212
- const offsetsArray = new Float64Array(Module.HEAPF64.buffer, offsets, count);
8213
- const lengthsArray = new Float64Array(Module.HEAPF64.buffer, lengths, count);
8323
+ const view = new DataView(Module.HEAPU8.buffer);
8324
+ const tflIdsArray = new Int32Array(count);
8325
+ const wgpuBuffersArray = new Uint32Array(count);
8326
+ const offsetsArray = new Float64Array(count);
8327
+ const lengthsArray = new Float64Array(count);
8328
+ for (let i = 0; i < count; i++) {
8329
+ tflIdsArray[i] = view.getInt32(tfl_ids + i * 4, true);
8330
+ wgpuBuffersArray[i] = view.getUint32(wgpu_buffers + i * 4, true);
8331
+ offsetsArray[i] = view.getFloat64(offsets + i * 8, true);
8332
+ lengthsArray[i] = view.getFloat64(lengths + i * 8, true);
8333
+ }
8214
8334
  try {
8215
- await callback(new Int32Array(tflIdsArray), new Uint32Array(wgpuBuffersArray), new Float64Array(offsetsArray), new Float64Array(lengthsArray));
8335
+ await callback(tflIdsArray, wgpuBuffersArray, offsetsArray, lengthsArray);
8216
8336
  } catch (e) {
8217
8337
  console.error("Error in streamWeightsOnWeb:", e);
8218
8338
  return 1;
@@ -8222,115 +8342,113 @@ function __asyncjs__CallStreamWeightsOnWeb(tfl_ids, wgpu_buffers, offsets, lengt
8222
8342
  }
8223
8343
 
8224
8344
  // Imports from the Wasm binary.
8225
- var _malloc, _free, _ma_device__on_notification_unlocked, _ma_malloc_emscripten, _ma_free_emscripten, _ma_device_process_pcm_frames_capture__webaudio, _ma_device_process_pcm_frames_playback__webaudio, _wgpuDeviceAddRef, _emwgpuCreateBindGroup, _emwgpuCreateBindGroupLayout, _emwgpuCreateCommandBuffer, _emwgpuCreateCommandEncoder, _emwgpuCreateComputePassEncoder, _emwgpuCreateComputePipeline, _emwgpuCreateExternalTexture, _emwgpuCreatePipelineLayout, _emwgpuCreateQuerySet, _emwgpuCreateRenderBundle, _emwgpuCreateRenderBundleEncoder, _emwgpuCreateRenderPassEncoder, _emwgpuCreateRenderPipeline, _emwgpuCreateSampler, _emwgpuCreateSurface, _emwgpuCreateTexture, _emwgpuCreateTextureView, _emwgpuCreateAdapter, _emwgpuImportBuffer, _emwgpuCreateDevice, _emwgpuCreateQueue, _emwgpuCreateShaderModule, _emwgpuOnCreateComputePipelineCompleted, _emwgpuOnMapAsyncCompleted, _emwgpuOnWorkDoneCompleted, ___getTypeName, _emscripten_builtin_memalign, _memalign, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, dynCall_vi, dynCall_v, dynCall_vii, dynCall_ii, dynCall_iii, dynCall_iiii, dynCall_viii, dynCall_i, dynCall_fi, dynCall_fii, dynCall_vif, dynCall_viif, dynCall_dii, dynCall_viid, dynCall_iiiiiiii, dynCall_viiiiiii, dynCall_viiii, dynCall_iiiii, dynCall_viiiii, dynCall_iiijj, dynCall_iijj, dynCall_viijj, dynCall_iiiiii, dynCall_viiij, dynCall_jiii, dynCall_viiiiiiiii, dynCall_jiji, dynCall_vijj, dynCall_ji, dynCall_jij, dynCall_iiiijij, dynCall_jiij, dynCall_jii, dynCall_vij, dynCall_viij, dynCall_iij, dynCall_viiiiiiii, dynCall_iiji, dynCall_iiiiiiiii, dynCall_iiiiiii, dynCall_iiiji, dynCall_ff, dynCall_fff, dynCall_viiiiii, dynCall_iiiiiiiiiii, dynCall_iiiiiiiiiiii, dynCall_iiiiiiiiiiiii, dynCall_iiiiiiiiiiiiiii, dynCall_viiiiiiiiii, dynCall_viiiiiiiiiii, dynCall_iiif, dynCall_viji, dynCall_viijii, dynCall_viiif, dynCall_viiifiii, dynCall_fiif, dynCall_iiiifi, dynCall_iiiifiii, dynCall_iiifi, dynCall_viiiif, dynCall_viiiifii, dynCall_iiiiiiiiii, dynCall_iiiijj, dynCall_viiijjj, dynCall_viifii, dynCall_iff, dynCall_ijj, dynCall_vfiii, dynCall_jjj, dynCall_fiii, dynCall_viiiffii, dynCall_iiiiiffi, dynCall_viiiiiff, dynCall_viiiiiiiiiiiii, dynCall_viiiiiiiiiiii, dynCall_viiiiiiiiiiiiiiiii, dynCall_iifff, dynCall_iiff, dynCall_iiifiii, dynCall_iiffi, dynCall_iiffii, dynCall_viiiiiiiiiiiiii, dynCall_iif, dynCall_vifi, dynCall_vidi, dynCall_vijjj, dynCall_vj, dynCall_iidiiiii, dynCall_iiiiij, dynCall_iiiiid, dynCall_iiiiijj, dynCall_iiiiiijj, _asyncify_start_unwind, _asyncify_stop_unwind, _asyncify_start_rewind, _asyncify_stop_rewind, memory, _kVersionStampBuildChangelistStr, _kVersionStampCitcSnapshotStr, _kVersionStampCitcWorkspaceIdStr, _kVersionStampSourceUriStr, _kVersionStampBuildClientStr, _kVersionStampBuildClientMintStatusStr, _kVersionStampBuildCompilerStr, _kVersionStampBuildDateTimePstStr, _kVersionStampBuildDepotPathStr, _kVersionStampBuildIdStr, _kVersionStampBuildInfoStr, _kVersionStampBuildLabelStr, _kVersionStampBuildTargetStr, _kVersionStampBuildTimestampStr, _kVersionStampBuildToolStr, _kVersionStampG3BuildTargetStr, _kVersionStampVerifiableStr, _kVersionStampBuildFdoTypeStr, _kVersionStampBuildBaselineChangelistStr, _kVersionStampBuildLtoTypeStr, _kVersionStampBuildPropellerTypeStr, _kVersionStampBuildPghoTypeStr, _kVersionStampBuildFdoProfileChangelistStr, _kVersionStampBuildMemprofProfileChangelistStr, _kVersionStampBuildUsernameStr, _kVersionStampBuildHostnameStr, _kVersionStampBuildDirectoryStr, _kVersionStampBuildChangelistInt, _kVersionStampCitcSnapshotInt, _kVersionStampBuildClientMintStatusInt, _kVersionStampBuildTimestampInt, _kVersionStampVerifiableInt, _kVersionStampBuildCoverageEnabledInt, _kVersionStampBuildBaselineChangelistInt, _kVersionStampPrecookedTimestampStr, _kVersionStampPrecookedClientInfoStr, __indirect_function_table, _kVersionStampBuildHasHardeningProtobuf, wasmMemory;
8345
+ var _malloc, _free, _ma_device__on_notification_unlocked, _ma_malloc_emscripten, _ma_free_emscripten, _ma_device_process_pcm_frames_capture__webaudio, _ma_device_process_pcm_frames_playback__webaudio, _wgpuDeviceAddRef, _emwgpuCreateBindGroup, _emwgpuCreateBindGroupLayout, _emwgpuCreateCommandBuffer, _emwgpuCreateCommandEncoder, _emwgpuCreateComputePassEncoder, _emwgpuCreateComputePipeline, _emwgpuCreateExternalTexture, _emwgpuCreatePipelineLayout, _emwgpuCreateQuerySet, _emwgpuCreateRenderBundle, _emwgpuCreateRenderBundleEncoder, _emwgpuCreateRenderPassEncoder, _emwgpuCreateRenderPipeline, _emwgpuCreateSampler, _emwgpuCreateSurface, _emwgpuCreateTexture, _emwgpuCreateTextureView, _emwgpuCreateAdapter, _emwgpuImportBuffer, _emwgpuCreateDevice, _emwgpuCreateQueue, _emwgpuCreateShaderModule, _emwgpuOnCreateComputePipelineCompleted, _emwgpuOnMapAsyncCompleted, _emwgpuOnWorkDoneCompleted, ___getTypeName, _emscripten_builtin_memalign, _memalign, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, dynCall_vi, dynCall_v, dynCall_vii, dynCall_ii, dynCall_iii, dynCall_iiii, dynCall_viii, dynCall_i, dynCall_fi, dynCall_fii, dynCall_vif, dynCall_viif, dynCall_dii, dynCall_viid, dynCall_iiiiiiii, dynCall_viiiiiii, dynCall_viiii, dynCall_iiiii, dynCall_viiiii, dynCall_iiijj, dynCall_iijj, dynCall_viijj, dynCall_iiiiii, dynCall_jiii, dynCall_viiij, dynCall_viiiiiiiii, dynCall_jiji, dynCall_vijj, dynCall_ji, dynCall_jij, dynCall_iiiijij, dynCall_jiij, dynCall_jii, dynCall_vij, dynCall_viij, dynCall_iij, dynCall_viiiiiiii, dynCall_iiji, dynCall_iiiiiiiii, dynCall_iiiiiii, dynCall_iiiji, dynCall_ff, dynCall_fff, dynCall_viiiiii, dynCall_iiiiiiiiiii, dynCall_iiiiiiiiiiii, dynCall_iiiiiiiiiiiii, dynCall_iiif, dynCall_iiiiiiiiii, dynCall_iiiiiiiiiiiiiii, dynCall_viiiiiiiiii, dynCall_viiiiiiiiiii, dynCall_viji, dynCall_viijii, dynCall_viiif, dynCall_viiifiii, dynCall_fiif, dynCall_iiiifi, dynCall_iiiifiii, dynCall_iiifi, dynCall_viiiif, dynCall_viiiifii, dynCall_iiiijj, dynCall_viiijjj, dynCall_viifii, dynCall_vfiii, dynCall_jjj, dynCall_fiii, dynCall_viiiffii, dynCall_iiiiiffi, dynCall_viiiiiff, dynCall_viiiiiiiiiiiii, dynCall_viiiiiiiiiiii, dynCall_viiiiiiiiiiiiiiiii, dynCall_iifff, dynCall_iiff, dynCall_iiifiii, dynCall_iiffi, dynCall_iiffii, dynCall_viiiiiiiiiiiiii, dynCall_iif, dynCall_vifi, dynCall_vidi, dynCall_vijjj, dynCall_vj, dynCall_iidiiiii, dynCall_iiiiij, dynCall_iiiiid, dynCall_iiiiijj, dynCall_iiiiiijj, _asyncify_start_unwind, _asyncify_stop_unwind, _asyncify_start_rewind, _asyncify_stop_rewind, memory, _kVersionStampBuildChangelistStr, _kVersionStampCitcSnapshotStr, _kVersionStampCitcWorkspaceIdStr, _kVersionStampSourceUriStr, _kVersionStampBuildClientStr, _kVersionStampBuildClientMintStatusStr, _kVersionStampBuildCompilerStr, _kVersionStampBuildDateTimePstStr, _kVersionStampBuildDepotPathStr, _kVersionStampBuildIdStr, _kVersionStampBuildInfoStr, _kVersionStampBuildLabelStr, _kVersionStampBuildTargetStr, _kVersionStampBuildTimestampStr, _kVersionStampBuildToolStr, _kVersionStampG3BuildTargetStr, _kVersionStampVerifiableStr, _kVersionStampBuildFdoTypeStr, _kVersionStampBuildBaselineChangelistStr, _kVersionStampBuildLtoTypeStr, _kVersionStampBuildPropellerTypeStr, _kVersionStampBuildPghoTypeStr, _kVersionStampBuildFdoProfileChangelistStr, _kVersionStampBuildMemprofProfileChangelistStr, _kVersionStampBuildUsernameStr, _kVersionStampBuildHostnameStr, _kVersionStampBuildDirectoryStr, _kVersionStampBuildChangelistInt, _kVersionStampCitcSnapshotInt, _kVersionStampBuildClientMintStatusInt, _kVersionStampBuildTimestampInt, _kVersionStampVerifiableInt, _kVersionStampBuildCoverageEnabledInt, _kVersionStampBuildBaselineChangelistInt, _kVersionStampPrecookedTimestampStr, _kVersionStampPrecookedClientInfoStr, __indirect_function_table, _kVersionStampBuildHasHardeningProtobuf, wasmMemory;
8226
8346
 
8227
8347
  function assignWasmExports(wasmExports) {
8228
- _malloc = Module["_malloc"] = wasmExports["mc"];
8229
- _free = Module["_free"] = wasmExports["nc"];
8230
- _ma_device__on_notification_unlocked = Module["_ma_device__on_notification_unlocked"] = wasmExports["oc"];
8231
- _ma_malloc_emscripten = Module["_ma_malloc_emscripten"] = wasmExports["pc"];
8232
- _ma_free_emscripten = Module["_ma_free_emscripten"] = wasmExports["qc"];
8233
- _ma_device_process_pcm_frames_capture__webaudio = Module["_ma_device_process_pcm_frames_capture__webaudio"] = wasmExports["rc"];
8234
- _ma_device_process_pcm_frames_playback__webaudio = Module["_ma_device_process_pcm_frames_playback__webaudio"] = wasmExports["sc"];
8235
- _wgpuDeviceAddRef = wasmExports["tc"];
8236
- _emwgpuCreateBindGroup = wasmExports["uc"];
8237
- _emwgpuCreateBindGroupLayout = wasmExports["vc"];
8238
- _emwgpuCreateCommandBuffer = wasmExports["wc"];
8239
- _emwgpuCreateCommandEncoder = wasmExports["xc"];
8240
- _emwgpuCreateComputePassEncoder = wasmExports["yc"];
8241
- _emwgpuCreateComputePipeline = wasmExports["zc"];
8242
- _emwgpuCreateExternalTexture = wasmExports["Ac"];
8243
- _emwgpuCreatePipelineLayout = wasmExports["Bc"];
8244
- _emwgpuCreateQuerySet = wasmExports["Cc"];
8245
- _emwgpuCreateRenderBundle = wasmExports["Dc"];
8246
- _emwgpuCreateRenderBundleEncoder = wasmExports["Ec"];
8247
- _emwgpuCreateRenderPassEncoder = wasmExports["Fc"];
8248
- _emwgpuCreateRenderPipeline = wasmExports["Gc"];
8249
- _emwgpuCreateSampler = wasmExports["Hc"];
8250
- _emwgpuCreateSurface = wasmExports["Ic"];
8251
- _emwgpuCreateTexture = wasmExports["Jc"];
8252
- _emwgpuCreateTextureView = wasmExports["Kc"];
8253
- _emwgpuCreateAdapter = wasmExports["Lc"];
8254
- _emwgpuImportBuffer = wasmExports["Mc"];
8255
- _emwgpuCreateDevice = wasmExports["Nc"];
8256
- _emwgpuCreateQueue = wasmExports["Oc"];
8257
- _emwgpuCreateShaderModule = wasmExports["Pc"];
8258
- _emwgpuOnCreateComputePipelineCompleted = wasmExports["Qc"];
8259
- _emwgpuOnMapAsyncCompleted = wasmExports["Rc"];
8260
- _emwgpuOnWorkDoneCompleted = wasmExports["Sc"];
8261
- ___getTypeName = wasmExports["Uc"];
8262
- _emscripten_builtin_memalign = wasmExports["Vc"];
8263
- _memalign = wasmExports["Wc"];
8264
- __emscripten_stack_restore = wasmExports["Xc"];
8265
- __emscripten_stack_alloc = wasmExports["Yc"];
8266
- _emscripten_stack_get_current = wasmExports["Zc"];
8267
- dynCall_vi = dynCalls["vi"] = wasmExports["_c"];
8268
- dynCall_v = dynCalls["v"] = wasmExports["$c"];
8269
- dynCall_vii = dynCalls["vii"] = wasmExports["ad"];
8270
- dynCall_ii = dynCalls["ii"] = wasmExports["bd"];
8271
- dynCall_iii = dynCalls["iii"] = wasmExports["cd"];
8272
- dynCall_iiii = dynCalls["iiii"] = wasmExports["dd"];
8273
- dynCall_viii = dynCalls["viii"] = wasmExports["ed"];
8274
- dynCall_i = dynCalls["i"] = wasmExports["fd"];
8275
- dynCall_fi = dynCalls["fi"] = wasmExports["gd"];
8276
- dynCall_fii = dynCalls["fii"] = wasmExports["hd"];
8277
- dynCall_vif = dynCalls["vif"] = wasmExports["id"];
8278
- dynCall_viif = dynCalls["viif"] = wasmExports["jd"];
8279
- dynCall_dii = dynCalls["dii"] = wasmExports["kd"];
8280
- dynCall_viid = dynCalls["viid"] = wasmExports["ld"];
8281
- dynCall_iiiiiiii = dynCalls["iiiiiiii"] = wasmExports["md"];
8282
- dynCall_viiiiiii = dynCalls["viiiiiii"] = wasmExports["nd"];
8283
- dynCall_viiii = dynCalls["viiii"] = wasmExports["od"];
8284
- dynCall_iiiii = dynCalls["iiiii"] = wasmExports["pd"];
8285
- dynCall_viiiii = dynCalls["viiiii"] = wasmExports["qd"];
8286
- dynCall_iiijj = dynCalls["iiijj"] = wasmExports["rd"];
8287
- dynCall_iijj = dynCalls["iijj"] = wasmExports["sd"];
8288
- dynCall_viijj = dynCalls["viijj"] = wasmExports["td"];
8289
- dynCall_iiiiii = dynCalls["iiiiii"] = wasmExports["ud"];
8290
- dynCall_viiij = dynCalls["viiij"] = wasmExports["vd"];
8291
- dynCall_jiii = dynCalls["jiii"] = wasmExports["wd"];
8292
- dynCall_viiiiiiiii = dynCalls["viiiiiiiii"] = wasmExports["xd"];
8293
- dynCall_jiji = dynCalls["jiji"] = wasmExports["yd"];
8294
- dynCall_vijj = dynCalls["vijj"] = wasmExports["zd"];
8295
- dynCall_ji = dynCalls["ji"] = wasmExports["Ad"];
8296
- dynCall_jij = dynCalls["jij"] = wasmExports["Bd"];
8297
- dynCall_iiiijij = dynCalls["iiiijij"] = wasmExports["Cd"];
8298
- dynCall_jiij = dynCalls["jiij"] = wasmExports["Dd"];
8299
- dynCall_jii = dynCalls["jii"] = wasmExports["Ed"];
8300
- dynCall_vij = dynCalls["vij"] = wasmExports["Fd"];
8301
- dynCall_viij = dynCalls["viij"] = wasmExports["Gd"];
8302
- dynCall_iij = dynCalls["iij"] = wasmExports["Hd"];
8303
- dynCall_viiiiiiii = dynCalls["viiiiiiii"] = wasmExports["Id"];
8304
- dynCall_iiji = dynCalls["iiji"] = wasmExports["Jd"];
8305
- dynCall_iiiiiiiii = dynCalls["iiiiiiiii"] = wasmExports["Kd"];
8306
- dynCall_iiiiiii = dynCalls["iiiiiii"] = wasmExports["Ld"];
8307
- dynCall_iiiji = dynCalls["iiiji"] = wasmExports["Md"];
8308
- dynCall_ff = dynCalls["ff"] = wasmExports["Nd"];
8309
- dynCall_fff = dynCalls["fff"] = wasmExports["Od"];
8310
- dynCall_viiiiii = dynCalls["viiiiii"] = wasmExports["Pd"];
8311
- dynCall_iiiiiiiiiii = dynCalls["iiiiiiiiiii"] = wasmExports["Qd"];
8312
- dynCall_iiiiiiiiiiii = dynCalls["iiiiiiiiiiii"] = wasmExports["Rd"];
8313
- dynCall_iiiiiiiiiiiii = dynCalls["iiiiiiiiiiiii"] = wasmExports["Sd"];
8314
- dynCall_iiiiiiiiiiiiiii = dynCalls["iiiiiiiiiiiiiii"] = wasmExports["Td"];
8315
- dynCall_viiiiiiiiii = dynCalls["viiiiiiiiii"] = wasmExports["Ud"];
8316
- dynCall_viiiiiiiiiii = dynCalls["viiiiiiiiiii"] = wasmExports["Vd"];
8317
- dynCall_iiif = dynCalls["iiif"] = wasmExports["Wd"];
8318
- dynCall_viji = dynCalls["viji"] = wasmExports["Xd"];
8319
- dynCall_viijii = dynCalls["viijii"] = wasmExports["Yd"];
8320
- dynCall_viiif = dynCalls["viiif"] = wasmExports["Zd"];
8321
- dynCall_viiifiii = dynCalls["viiifiii"] = wasmExports["_d"];
8322
- dynCall_fiif = dynCalls["fiif"] = wasmExports["$d"];
8323
- dynCall_iiiifi = dynCalls["iiiifi"] = wasmExports["ae"];
8324
- dynCall_iiiifiii = dynCalls["iiiifiii"] = wasmExports["be"];
8325
- dynCall_iiifi = dynCalls["iiifi"] = wasmExports["ce"];
8326
- dynCall_viiiif = dynCalls["viiiif"] = wasmExports["de"];
8327
- dynCall_viiiifii = dynCalls["viiiifii"] = wasmExports["ee"];
8328
- dynCall_iiiiiiiiii = dynCalls["iiiiiiiiii"] = wasmExports["fe"];
8329
- dynCall_iiiijj = dynCalls["iiiijj"] = wasmExports["ge"];
8330
- dynCall_viiijjj = dynCalls["viiijjj"] = wasmExports["he"];
8331
- dynCall_viifii = dynCalls["viifii"] = wasmExports["ie"];
8332
- dynCall_iff = dynCalls["iff"] = wasmExports["je"];
8333
- dynCall_ijj = dynCalls["ijj"] = wasmExports["ke"];
8348
+ _malloc = Module["_malloc"] = wasmExports["oc"];
8349
+ _free = Module["_free"] = wasmExports["pc"];
8350
+ _ma_device__on_notification_unlocked = Module["_ma_device__on_notification_unlocked"] = wasmExports["qc"];
8351
+ _ma_malloc_emscripten = Module["_ma_malloc_emscripten"] = wasmExports["rc"];
8352
+ _ma_free_emscripten = Module["_ma_free_emscripten"] = wasmExports["sc"];
8353
+ _ma_device_process_pcm_frames_capture__webaudio = Module["_ma_device_process_pcm_frames_capture__webaudio"] = wasmExports["tc"];
8354
+ _ma_device_process_pcm_frames_playback__webaudio = Module["_ma_device_process_pcm_frames_playback__webaudio"] = wasmExports["uc"];
8355
+ _wgpuDeviceAddRef = wasmExports["vc"];
8356
+ _emwgpuCreateBindGroup = wasmExports["wc"];
8357
+ _emwgpuCreateBindGroupLayout = wasmExports["xc"];
8358
+ _emwgpuCreateCommandBuffer = wasmExports["yc"];
8359
+ _emwgpuCreateCommandEncoder = wasmExports["zc"];
8360
+ _emwgpuCreateComputePassEncoder = wasmExports["Ac"];
8361
+ _emwgpuCreateComputePipeline = wasmExports["Bc"];
8362
+ _emwgpuCreateExternalTexture = wasmExports["Cc"];
8363
+ _emwgpuCreatePipelineLayout = wasmExports["Dc"];
8364
+ _emwgpuCreateQuerySet = wasmExports["Ec"];
8365
+ _emwgpuCreateRenderBundle = wasmExports["Fc"];
8366
+ _emwgpuCreateRenderBundleEncoder = wasmExports["Gc"];
8367
+ _emwgpuCreateRenderPassEncoder = wasmExports["Hc"];
8368
+ _emwgpuCreateRenderPipeline = wasmExports["Ic"];
8369
+ _emwgpuCreateSampler = wasmExports["Jc"];
8370
+ _emwgpuCreateSurface = wasmExports["Kc"];
8371
+ _emwgpuCreateTexture = wasmExports["Lc"];
8372
+ _emwgpuCreateTextureView = wasmExports["Mc"];
8373
+ _emwgpuCreateAdapter = wasmExports["Nc"];
8374
+ _emwgpuImportBuffer = wasmExports["Oc"];
8375
+ _emwgpuCreateDevice = wasmExports["Pc"];
8376
+ _emwgpuCreateQueue = wasmExports["Qc"];
8377
+ _emwgpuCreateShaderModule = wasmExports["Rc"];
8378
+ _emwgpuOnCreateComputePipelineCompleted = wasmExports["Sc"];
8379
+ _emwgpuOnMapAsyncCompleted = wasmExports["Tc"];
8380
+ _emwgpuOnWorkDoneCompleted = wasmExports["Uc"];
8381
+ ___getTypeName = wasmExports["Wc"];
8382
+ _emscripten_builtin_memalign = wasmExports["Xc"];
8383
+ _memalign = wasmExports["Yc"];
8384
+ __emscripten_stack_restore = wasmExports["Zc"];
8385
+ __emscripten_stack_alloc = wasmExports["_c"];
8386
+ _emscripten_stack_get_current = wasmExports["$c"];
8387
+ dynCall_vi = dynCalls["vi"] = wasmExports["ad"];
8388
+ dynCall_v = dynCalls["v"] = wasmExports["bd"];
8389
+ dynCall_vii = dynCalls["vii"] = wasmExports["cd"];
8390
+ dynCall_ii = dynCalls["ii"] = wasmExports["dd"];
8391
+ dynCall_iii = dynCalls["iii"] = wasmExports["ed"];
8392
+ dynCall_iiii = dynCalls["iiii"] = wasmExports["fd"];
8393
+ dynCall_viii = dynCalls["viii"] = wasmExports["gd"];
8394
+ dynCall_i = dynCalls["i"] = wasmExports["hd"];
8395
+ dynCall_fi = dynCalls["fi"] = wasmExports["id"];
8396
+ dynCall_fii = dynCalls["fii"] = wasmExports["jd"];
8397
+ dynCall_vif = dynCalls["vif"] = wasmExports["kd"];
8398
+ dynCall_viif = dynCalls["viif"] = wasmExports["ld"];
8399
+ dynCall_dii = dynCalls["dii"] = wasmExports["md"];
8400
+ dynCall_viid = dynCalls["viid"] = wasmExports["nd"];
8401
+ dynCall_iiiiiiii = dynCalls["iiiiiiii"] = wasmExports["od"];
8402
+ dynCall_viiiiiii = dynCalls["viiiiiii"] = wasmExports["pd"];
8403
+ dynCall_viiii = dynCalls["viiii"] = wasmExports["qd"];
8404
+ dynCall_iiiii = dynCalls["iiiii"] = wasmExports["rd"];
8405
+ dynCall_viiiii = dynCalls["viiiii"] = wasmExports["sd"];
8406
+ dynCall_iiijj = dynCalls["iiijj"] = wasmExports["td"];
8407
+ dynCall_iijj = dynCalls["iijj"] = wasmExports["ud"];
8408
+ dynCall_viijj = dynCalls["viijj"] = wasmExports["vd"];
8409
+ dynCall_iiiiii = dynCalls["iiiiii"] = wasmExports["wd"];
8410
+ dynCall_jiii = dynCalls["jiii"] = wasmExports["xd"];
8411
+ dynCall_viiij = dynCalls["viiij"] = wasmExports["yd"];
8412
+ dynCall_viiiiiiiii = dynCalls["viiiiiiiii"] = wasmExports["zd"];
8413
+ dynCall_jiji = dynCalls["jiji"] = wasmExports["Ad"];
8414
+ dynCall_vijj = dynCalls["vijj"] = wasmExports["Bd"];
8415
+ dynCall_ji = dynCalls["ji"] = wasmExports["Cd"];
8416
+ dynCall_jij = dynCalls["jij"] = wasmExports["Dd"];
8417
+ dynCall_iiiijij = dynCalls["iiiijij"] = wasmExports["Ed"];
8418
+ dynCall_jiij = dynCalls["jiij"] = wasmExports["Fd"];
8419
+ dynCall_jii = dynCalls["jii"] = wasmExports["Gd"];
8420
+ dynCall_vij = dynCalls["vij"] = wasmExports["Hd"];
8421
+ dynCall_viij = dynCalls["viij"] = wasmExports["Id"];
8422
+ dynCall_iij = dynCalls["iij"] = wasmExports["Jd"];
8423
+ dynCall_viiiiiiii = dynCalls["viiiiiiii"] = wasmExports["Kd"];
8424
+ dynCall_iiji = dynCalls["iiji"] = wasmExports["Ld"];
8425
+ dynCall_iiiiiiiii = dynCalls["iiiiiiiii"] = wasmExports["Md"];
8426
+ dynCall_iiiiiii = dynCalls["iiiiiii"] = wasmExports["Nd"];
8427
+ dynCall_iiiji = dynCalls["iiiji"] = wasmExports["Od"];
8428
+ dynCall_ff = dynCalls["ff"] = wasmExports["Pd"];
8429
+ dynCall_fff = dynCalls["fff"] = wasmExports["Qd"];
8430
+ dynCall_viiiiii = dynCalls["viiiiii"] = wasmExports["Rd"];
8431
+ dynCall_iiiiiiiiiii = dynCalls["iiiiiiiiiii"] = wasmExports["Sd"];
8432
+ dynCall_iiiiiiiiiiii = dynCalls["iiiiiiiiiiii"] = wasmExports["Td"];
8433
+ dynCall_iiiiiiiiiiiii = dynCalls["iiiiiiiiiiiii"] = wasmExports["Ud"];
8434
+ dynCall_iiif = dynCalls["iiif"] = wasmExports["Vd"];
8435
+ dynCall_iiiiiiiiii = dynCalls["iiiiiiiiii"] = wasmExports["Wd"];
8436
+ dynCall_iiiiiiiiiiiiiii = dynCalls["iiiiiiiiiiiiiii"] = wasmExports["Xd"];
8437
+ dynCall_viiiiiiiiii = dynCalls["viiiiiiiiii"] = wasmExports["Yd"];
8438
+ dynCall_viiiiiiiiiii = dynCalls["viiiiiiiiiii"] = wasmExports["Zd"];
8439
+ dynCall_viji = dynCalls["viji"] = wasmExports["_d"];
8440
+ dynCall_viijii = dynCalls["viijii"] = wasmExports["$d"];
8441
+ dynCall_viiif = dynCalls["viiif"] = wasmExports["ae"];
8442
+ dynCall_viiifiii = dynCalls["viiifiii"] = wasmExports["be"];
8443
+ dynCall_fiif = dynCalls["fiif"] = wasmExports["ce"];
8444
+ dynCall_iiiifi = dynCalls["iiiifi"] = wasmExports["de"];
8445
+ dynCall_iiiifiii = dynCalls["iiiifiii"] = wasmExports["ee"];
8446
+ dynCall_iiifi = dynCalls["iiifi"] = wasmExports["fe"];
8447
+ dynCall_viiiif = dynCalls["viiiif"] = wasmExports["ge"];
8448
+ dynCall_viiiifii = dynCalls["viiiifii"] = wasmExports["he"];
8449
+ dynCall_iiiijj = dynCalls["iiiijj"] = wasmExports["ie"];
8450
+ dynCall_viiijjj = dynCalls["viiijjj"] = wasmExports["je"];
8451
+ dynCall_viifii = dynCalls["viifii"] = wasmExports["ke"];
8334
8452
  dynCall_vfiii = dynCalls["vfiii"] = wasmExports["le"];
8335
8453
  dynCall_jjj = dynCalls["jjj"] = wasmExports["me"];
8336
8454
  dynCall_fiii = dynCalls["fiii"] = wasmExports["ne"];
@@ -8360,184 +8478,186 @@ function assignWasmExports(wasmExports) {
8360
8478
  _asyncify_stop_unwind = wasmExports["Le"];
8361
8479
  _asyncify_start_rewind = wasmExports["Me"];
8362
8480
  _asyncify_stop_rewind = wasmExports["Ne"];
8363
- memory = wasmMemory = wasmExports["Cb"];
8364
- _kVersionStampBuildChangelistStr = Module["_kVersionStampBuildChangelistStr"] = (wasmExports["Eb"].value) >>> 0;
8365
- _kVersionStampCitcSnapshotStr = Module["_kVersionStampCitcSnapshotStr"] = (wasmExports["Fb"].value) >>> 0;
8366
- _kVersionStampCitcWorkspaceIdStr = Module["_kVersionStampCitcWorkspaceIdStr"] = (wasmExports["Gb"].value) >>> 0;
8367
- _kVersionStampSourceUriStr = Module["_kVersionStampSourceUriStr"] = (wasmExports["Hb"].value) >>> 0;
8368
- _kVersionStampBuildClientStr = Module["_kVersionStampBuildClientStr"] = (wasmExports["Ib"].value) >>> 0;
8369
- _kVersionStampBuildClientMintStatusStr = Module["_kVersionStampBuildClientMintStatusStr"] = (wasmExports["Jb"].value) >>> 0;
8370
- _kVersionStampBuildCompilerStr = Module["_kVersionStampBuildCompilerStr"] = (wasmExports["Kb"].value) >>> 0;
8371
- _kVersionStampBuildDateTimePstStr = Module["_kVersionStampBuildDateTimePstStr"] = (wasmExports["Lb"].value) >>> 0;
8372
- _kVersionStampBuildDepotPathStr = Module["_kVersionStampBuildDepotPathStr"] = (wasmExports["Mb"].value) >>> 0;
8373
- _kVersionStampBuildIdStr = Module["_kVersionStampBuildIdStr"] = (wasmExports["Nb"].value) >>> 0;
8374
- _kVersionStampBuildInfoStr = Module["_kVersionStampBuildInfoStr"] = (wasmExports["Ob"].value) >>> 0;
8375
- _kVersionStampBuildLabelStr = Module["_kVersionStampBuildLabelStr"] = (wasmExports["Pb"].value) >>> 0;
8376
- _kVersionStampBuildTargetStr = Module["_kVersionStampBuildTargetStr"] = (wasmExports["Qb"].value) >>> 0;
8377
- _kVersionStampBuildTimestampStr = Module["_kVersionStampBuildTimestampStr"] = (wasmExports["Rb"].value) >>> 0;
8378
- _kVersionStampBuildToolStr = Module["_kVersionStampBuildToolStr"] = (wasmExports["Sb"].value) >>> 0;
8379
- _kVersionStampG3BuildTargetStr = Module["_kVersionStampG3BuildTargetStr"] = (wasmExports["Tb"].value) >>> 0;
8380
- _kVersionStampVerifiableStr = Module["_kVersionStampVerifiableStr"] = (wasmExports["Ub"].value) >>> 0;
8381
- _kVersionStampBuildFdoTypeStr = Module["_kVersionStampBuildFdoTypeStr"] = (wasmExports["Vb"].value) >>> 0;
8382
- _kVersionStampBuildBaselineChangelistStr = Module["_kVersionStampBuildBaselineChangelistStr"] = (wasmExports["Wb"].value) >>> 0;
8383
- _kVersionStampBuildLtoTypeStr = Module["_kVersionStampBuildLtoTypeStr"] = (wasmExports["Xb"].value) >>> 0;
8384
- _kVersionStampBuildPropellerTypeStr = Module["_kVersionStampBuildPropellerTypeStr"] = (wasmExports["Yb"].value) >>> 0;
8385
- _kVersionStampBuildPghoTypeStr = Module["_kVersionStampBuildPghoTypeStr"] = (wasmExports["Zb"].value) >>> 0;
8386
- _kVersionStampBuildFdoProfileChangelistStr = Module["_kVersionStampBuildFdoProfileChangelistStr"] = (wasmExports["_b"].value) >>> 0;
8387
- _kVersionStampBuildMemprofProfileChangelistStr = Module["_kVersionStampBuildMemprofProfileChangelistStr"] = (wasmExports["$b"].value) >>> 0;
8388
- _kVersionStampBuildUsernameStr = Module["_kVersionStampBuildUsernameStr"] = (wasmExports["ac"].value) >>> 0;
8389
- _kVersionStampBuildHostnameStr = Module["_kVersionStampBuildHostnameStr"] = (wasmExports["bc"].value) >>> 0;
8390
- _kVersionStampBuildDirectoryStr = Module["_kVersionStampBuildDirectoryStr"] = (wasmExports["cc"].value) >>> 0;
8391
- _kVersionStampBuildChangelistInt = Module["_kVersionStampBuildChangelistInt"] = (wasmExports["dc"].value) >>> 0;
8392
- _kVersionStampCitcSnapshotInt = Module["_kVersionStampCitcSnapshotInt"] = (wasmExports["ec"].value) >>> 0;
8393
- _kVersionStampBuildClientMintStatusInt = Module["_kVersionStampBuildClientMintStatusInt"] = (wasmExports["fc"].value) >>> 0;
8394
- _kVersionStampBuildTimestampInt = Module["_kVersionStampBuildTimestampInt"] = (wasmExports["gc"].value) >>> 0;
8395
- _kVersionStampVerifiableInt = Module["_kVersionStampVerifiableInt"] = (wasmExports["hc"].value) >>> 0;
8396
- _kVersionStampBuildCoverageEnabledInt = Module["_kVersionStampBuildCoverageEnabledInt"] = (wasmExports["ic"].value) >>> 0;
8397
- _kVersionStampBuildBaselineChangelistInt = Module["_kVersionStampBuildBaselineChangelistInt"] = (wasmExports["jc"].value) >>> 0;
8398
- _kVersionStampPrecookedTimestampStr = Module["_kVersionStampPrecookedTimestampStr"] = (wasmExports["kc"].value) >>> 0;
8399
- _kVersionStampPrecookedClientInfoStr = Module["_kVersionStampPrecookedClientInfoStr"] = (wasmExports["lc"].value) >>> 0;
8481
+ memory = wasmMemory = wasmExports["Eb"];
8482
+ _kVersionStampBuildChangelistStr = Module["_kVersionStampBuildChangelistStr"] = (wasmExports["Gb"].value) >>> 0;
8483
+ _kVersionStampCitcSnapshotStr = Module["_kVersionStampCitcSnapshotStr"] = (wasmExports["Hb"].value) >>> 0;
8484
+ _kVersionStampCitcWorkspaceIdStr = Module["_kVersionStampCitcWorkspaceIdStr"] = (wasmExports["Ib"].value) >>> 0;
8485
+ _kVersionStampSourceUriStr = Module["_kVersionStampSourceUriStr"] = (wasmExports["Jb"].value) >>> 0;
8486
+ _kVersionStampBuildClientStr = Module["_kVersionStampBuildClientStr"] = (wasmExports["Kb"].value) >>> 0;
8487
+ _kVersionStampBuildClientMintStatusStr = Module["_kVersionStampBuildClientMintStatusStr"] = (wasmExports["Lb"].value) >>> 0;
8488
+ _kVersionStampBuildCompilerStr = Module["_kVersionStampBuildCompilerStr"] = (wasmExports["Mb"].value) >>> 0;
8489
+ _kVersionStampBuildDateTimePstStr = Module["_kVersionStampBuildDateTimePstStr"] = (wasmExports["Nb"].value) >>> 0;
8490
+ _kVersionStampBuildDepotPathStr = Module["_kVersionStampBuildDepotPathStr"] = (wasmExports["Ob"].value) >>> 0;
8491
+ _kVersionStampBuildIdStr = Module["_kVersionStampBuildIdStr"] = (wasmExports["Pb"].value) >>> 0;
8492
+ _kVersionStampBuildInfoStr = Module["_kVersionStampBuildInfoStr"] = (wasmExports["Qb"].value) >>> 0;
8493
+ _kVersionStampBuildLabelStr = Module["_kVersionStampBuildLabelStr"] = (wasmExports["Rb"].value) >>> 0;
8494
+ _kVersionStampBuildTargetStr = Module["_kVersionStampBuildTargetStr"] = (wasmExports["Sb"].value) >>> 0;
8495
+ _kVersionStampBuildTimestampStr = Module["_kVersionStampBuildTimestampStr"] = (wasmExports["Tb"].value) >>> 0;
8496
+ _kVersionStampBuildToolStr = Module["_kVersionStampBuildToolStr"] = (wasmExports["Ub"].value) >>> 0;
8497
+ _kVersionStampG3BuildTargetStr = Module["_kVersionStampG3BuildTargetStr"] = (wasmExports["Vb"].value) >>> 0;
8498
+ _kVersionStampVerifiableStr = Module["_kVersionStampVerifiableStr"] = (wasmExports["Wb"].value) >>> 0;
8499
+ _kVersionStampBuildFdoTypeStr = Module["_kVersionStampBuildFdoTypeStr"] = (wasmExports["Xb"].value) >>> 0;
8500
+ _kVersionStampBuildBaselineChangelistStr = Module["_kVersionStampBuildBaselineChangelistStr"] = (wasmExports["Yb"].value) >>> 0;
8501
+ _kVersionStampBuildLtoTypeStr = Module["_kVersionStampBuildLtoTypeStr"] = (wasmExports["Zb"].value) >>> 0;
8502
+ _kVersionStampBuildPropellerTypeStr = Module["_kVersionStampBuildPropellerTypeStr"] = (wasmExports["_b"].value) >>> 0;
8503
+ _kVersionStampBuildPghoTypeStr = Module["_kVersionStampBuildPghoTypeStr"] = (wasmExports["$b"].value) >>> 0;
8504
+ _kVersionStampBuildFdoProfileChangelistStr = Module["_kVersionStampBuildFdoProfileChangelistStr"] = (wasmExports["ac"].value) >>> 0;
8505
+ _kVersionStampBuildMemprofProfileChangelistStr = Module["_kVersionStampBuildMemprofProfileChangelistStr"] = (wasmExports["bc"].value) >>> 0;
8506
+ _kVersionStampBuildUsernameStr = Module["_kVersionStampBuildUsernameStr"] = (wasmExports["cc"].value) >>> 0;
8507
+ _kVersionStampBuildHostnameStr = Module["_kVersionStampBuildHostnameStr"] = (wasmExports["dc"].value) >>> 0;
8508
+ _kVersionStampBuildDirectoryStr = Module["_kVersionStampBuildDirectoryStr"] = (wasmExports["ec"].value) >>> 0;
8509
+ _kVersionStampBuildChangelistInt = Module["_kVersionStampBuildChangelistInt"] = (wasmExports["fc"].value) >>> 0;
8510
+ _kVersionStampCitcSnapshotInt = Module["_kVersionStampCitcSnapshotInt"] = (wasmExports["gc"].value) >>> 0;
8511
+ _kVersionStampBuildClientMintStatusInt = Module["_kVersionStampBuildClientMintStatusInt"] = (wasmExports["hc"].value) >>> 0;
8512
+ _kVersionStampBuildTimestampInt = Module["_kVersionStampBuildTimestampInt"] = (wasmExports["ic"].value) >>> 0;
8513
+ _kVersionStampVerifiableInt = Module["_kVersionStampVerifiableInt"] = (wasmExports["jc"].value) >>> 0;
8514
+ _kVersionStampBuildCoverageEnabledInt = Module["_kVersionStampBuildCoverageEnabledInt"] = (wasmExports["kc"].value) >>> 0;
8515
+ _kVersionStampBuildBaselineChangelistInt = Module["_kVersionStampBuildBaselineChangelistInt"] = (wasmExports["lc"].value) >>> 0;
8516
+ _kVersionStampPrecookedTimestampStr = Module["_kVersionStampPrecookedTimestampStr"] = (wasmExports["mc"].value) >>> 0;
8517
+ _kVersionStampPrecookedClientInfoStr = Module["_kVersionStampPrecookedClientInfoStr"] = (wasmExports["nc"].value) >>> 0;
8400
8518
  __indirect_function_table = wasmExports["__indirect_function_table"];
8401
- _kVersionStampBuildHasHardeningProtobuf = Module["_kVersionStampBuildHasHardeningProtobuf"] = (wasmExports["Tc"].value) >>> 0;
8519
+ _kVersionStampBuildHasHardeningProtobuf = Module["_kVersionStampBuildHasHardeningProtobuf"] = (wasmExports["Vc"].value) >>> 0;
8402
8520
  }
8403
8521
 
8404
8522
  var wasmImports = {
8405
- /** @export */ Ab: DefaultErrorReporter,
8406
- /** @export */ zb: GetAdapterArchitecture,
8407
- /** @export */ yb: GetAdapterDescription,
8408
- /** @export */ xb: GetAdapterDeviceName,
8409
- /** @export */ wb: GetAdapterVendor,
8410
- /** @export */ vb: JsGetDeviceMaxSubgroupSize,
8411
- /** @export */ ub: JsGetDeviceMinSubgroupSize,
8412
- /** @export */ tb: ThrowError,
8413
- /** @export */ sb: __Unwind_RaiseException,
8414
- /** @export */ Bb: __asyncjs__CallStreamWeightsOnWeb,
8415
- /** @export */ N: __asyncjs__ReadBufferDataJs,
8416
- /** @export */ rb: ___syscall_dup,
8417
- /** @export */ qb: ___syscall_faccessat,
8523
+ /** @export */ Cb: DefaultErrorReporter,
8524
+ /** @export */ Bb: GetAdapterArchitecture,
8525
+ /** @export */ Ab: GetAdapterDescription,
8526
+ /** @export */ zb: GetAdapterDeviceName,
8527
+ /** @export */ yb: GetAdapterVendor,
8528
+ /** @export */ xb: JsGetDeviceMaxSubgroupSize,
8529
+ /** @export */ wb: JsGetDeviceMinSubgroupSize,
8530
+ /** @export */ vb: ThrowError,
8531
+ /** @export */ ub: __Unwind_RaiseException,
8532
+ /** @export */ Db: __asyncjs__CallStreamWeightsOnWeb,
8533
+ /** @export */ Q: __asyncjs__ReadBufferDataJs,
8534
+ /** @export */ tb: ___syscall_dup,
8535
+ /** @export */ sb: ___syscall_faccessat,
8418
8536
  /** @export */ t: ___syscall_fcntl64,
8419
- /** @export */ pb: ___syscall_fstat64,
8420
- /** @export */ ob: ___syscall_ftruncate64,
8421
- /** @export */ nb: ___syscall_getcwd,
8422
- /** @export */ mb: ___syscall_getdents64,
8423
- /** @export */ lb: ___syscall_ioctl,
8424
- /** @export */ kb: ___syscall_lstat64,
8425
- /** @export */ jb: ___syscall_mkdirat,
8426
- /** @export */ ib: ___syscall_newfstatat,
8427
- /** @export */ M: ___syscall_openat,
8428
- /** @export */ hb: ___syscall_readlinkat,
8429
- /** @export */ gb: ___syscall_rmdir,
8430
- /** @export */ fb: ___syscall_stat64,
8431
- /** @export */ ca: ___syscall_unlinkat,
8432
- /** @export */ eb: ___syscall_utimensat,
8433
- /** @export */ Ya: __abort_js,
8537
+ /** @export */ rb: ___syscall_fstat64,
8538
+ /** @export */ qb: ___syscall_ftruncate64,
8539
+ /** @export */ pb: ___syscall_getcwd,
8540
+ /** @export */ ob: ___syscall_getdents64,
8541
+ /** @export */ nb: ___syscall_getuid32,
8542
+ /** @export */ mb: ___syscall_ioctl,
8543
+ /** @export */ lb: ___syscall_lstat64,
8544
+ /** @export */ kb: ___syscall_mkdirat,
8545
+ /** @export */ jb: ___syscall_newfstatat,
8546
+ /** @export */ P: ___syscall_openat,
8547
+ /** @export */ ib: ___syscall_readlinkat,
8548
+ /** @export */ hb: ___syscall_rmdir,
8549
+ /** @export */ gb: ___syscall_stat64,
8550
+ /** @export */ fa: ___syscall_unlinkat,
8551
+ /** @export */ fb: ___syscall_utimensat,
8552
+ /** @export */ Za: __abort_js,
8434
8553
  /** @export */ A: __embind_finalize_value_object,
8435
- /** @export */ aa: __embind_register_bigint,
8436
- /** @export */ Xa: __embind_register_bool,
8554
+ /** @export */ da: __embind_register_bigint,
8555
+ /** @export */ Ya: __embind_register_bool,
8437
8556
  /** @export */ n: __embind_register_class,
8438
8557
  /** @export */ s: __embind_register_class_class_function,
8439
8558
  /** @export */ G: __embind_register_class_constructor,
8440
8559
  /** @export */ a: __embind_register_class_function,
8441
- /** @export */ Wa: __embind_register_emval,
8442
- /** @export */ $: __embind_register_enum,
8560
+ /** @export */ Xa: __embind_register_emval,
8561
+ /** @export */ ca: __embind_register_enum,
8443
8562
  /** @export */ r: __embind_register_enum_value,
8444
- /** @export */ _: __embind_register_float,
8445
- /** @export */ Z: __embind_register_function,
8563
+ /** @export */ ba: __embind_register_float,
8564
+ /** @export */ aa: __embind_register_function,
8446
8565
  /** @export */ u: __embind_register_integer,
8447
8566
  /** @export */ F: __embind_register_iterable,
8448
8567
  /** @export */ m: __embind_register_memory_view,
8449
8568
  /** @export */ z: __embind_register_optional,
8450
- /** @export */ Va: __embind_register_smart_ptr,
8451
- /** @export */ Ua: __embind_register_std_string,
8452
- /** @export */ L: __embind_register_std_wstring,
8569
+ /** @export */ Wa: __embind_register_smart_ptr,
8570
+ /** @export */ Va: __embind_register_std_string,
8571
+ /** @export */ O: __embind_register_std_wstring,
8453
8572
  /** @export */ y: __embind_register_value_object,
8454
8573
  /** @export */ c: __embind_register_value_object_field,
8455
- /** @export */ Ta: __embind_register_void,
8456
- /** @export */ K: __emval_await,
8457
- /** @export */ g: __emval_create_invoker,
8574
+ /** @export */ Ua: __embind_register_void,
8575
+ /** @export */ $: __emval_await,
8576
+ /** @export */ i: __emval_create_invoker,
8458
8577
  /** @export */ b: __emval_decref,
8459
8578
  /** @export */ E: __emval_get_global,
8460
8579
  /** @export */ w: __emval_get_property,
8461
8580
  /** @export */ l: __emval_incref,
8462
- /** @export */ f: __emval_invoke,
8463
- /** @export */ Sa: __emval_is_string,
8581
+ /** @export */ h: __emval_invoke,
8582
+ /** @export */ Ta: __emval_is_string,
8464
8583
  /** @export */ x: __emval_new_cstring,
8465
- /** @export */ e: __emval_run_destructors,
8466
- /** @export */ Ra: __gmtime_js,
8467
- /** @export */ Qa: __localtime_js,
8468
- /** @export */ Pa: __mktime_js,
8469
- /** @export */ Oa: __mmap_js,
8470
- /** @export */ Na: __munmap_js,
8471
- /** @export */ Ma: __tzset_js,
8472
- /** @export */ db: _clock_time_get,
8473
- /** @export */ La: custom_emscripten_dbgn,
8474
- /** @export */ Y: _emscripten_asm_const_int,
8475
- /** @export */ J: _emscripten_errn,
8476
- /** @export */ Ka: _emscripten_get_heap_max,
8584
+ /** @export */ g: __emval_run_destructors,
8585
+ /** @export */ Sa: __gmtime_js,
8586
+ /** @export */ Ra: __localtime_js,
8587
+ /** @export */ Qa: __mktime_js,
8588
+ /** @export */ Pa: __mmap_js,
8589
+ /** @export */ Oa: __munmap_js,
8590
+ /** @export */ Na: __tzset_js,
8591
+ /** @export */ eb: _clock_time_get,
8592
+ /** @export */ Ma: custom_emscripten_dbgn,
8593
+ /** @export */ _: _emscripten_asm_const_int,
8594
+ /** @export */ N: _emscripten_errn,
8595
+ /** @export */ La: _emscripten_get_heap_max,
8477
8596
  /** @export */ j: _emscripten_get_now,
8478
- /** @export */ X: _emscripten_has_asyncify,
8479
- /** @export */ Ja: _emscripten_outn,
8480
- /** @export */ Ia: _emscripten_pc_get_function,
8481
- /** @export */ Ha: _emscripten_resize_heap,
8482
- /** @export */ W: _emscripten_sleep,
8483
- /** @export */ V: _emscripten_stack_snapshot,
8484
- /** @export */ Ga: _emscripten_stack_unwind_buffer,
8485
- /** @export */ U: _emscripten_webgpu_get_device,
8486
- /** @export */ Fa: _emwgpuBufferDestroy,
8487
- /** @export */ Ea: _emwgpuBufferGetConstMappedRange,
8488
- /** @export */ Da: _emwgpuBufferGetMappedRange,
8489
- /** @export */ Ca: _emwgpuBufferMapAsync,
8490
- /** @export */ Ba: _emwgpuBufferUnmap,
8491
- /** @export */ Aa: _emwgpuBufferWriteMappedRange,
8597
+ /** @export */ Z: _emscripten_has_asyncify,
8598
+ /** @export */ Ka: _emscripten_outn,
8599
+ /** @export */ Ja: _emscripten_pc_get_function,
8600
+ /** @export */ Ia: _emscripten_resize_heap,
8601
+ /** @export */ Y: _emscripten_sleep,
8602
+ /** @export */ X: _emscripten_stack_snapshot,
8603
+ /** @export */ Ha: _emscripten_stack_unwind_buffer,
8604
+ /** @export */ W: _emscripten_webgpu_get_device,
8605
+ /** @export */ Ga: _emwgpuBufferDestroy,
8606
+ /** @export */ Fa: _emwgpuBufferGetConstMappedRange,
8607
+ /** @export */ Ea: _emwgpuBufferGetMappedRange,
8608
+ /** @export */ Da: _emwgpuBufferMapAsync,
8609
+ /** @export */ Ca: _emwgpuBufferUnmap,
8610
+ /** @export */ Ba: _emwgpuBufferWriteMappedRange,
8492
8611
  /** @export */ k: _emwgpuDelete,
8493
- /** @export */ za: _emwgpuDeviceCreateBuffer,
8494
- /** @export */ ya: _emwgpuDeviceCreateComputePipelineAsync,
8495
- /** @export */ xa: _emwgpuDeviceCreateShaderModule,
8496
- /** @export */ wa: _emwgpuDeviceDestroy,
8497
- /** @export */ va: _emwgpuQueueOnSubmittedWorkDone,
8498
- /** @export */ ua: _emwgpuWaitAny,
8499
- /** @export */ cb: _environ_get,
8500
- /** @export */ bb: _environ_sizes_get,
8501
- /** @export */ T: _exit,
8612
+ /** @export */ Aa: _emwgpuDeviceCreateBuffer,
8613
+ /** @export */ za: _emwgpuDeviceCreateComputePipelineAsync,
8614
+ /** @export */ ya: _emwgpuDeviceCreateShaderModule,
8615
+ /** @export */ xa: _emwgpuDeviceDestroy,
8616
+ /** @export */ wa: _emwgpuQueueOnSubmittedWorkDone,
8617
+ /** @export */ va: _emwgpuWaitAny,
8618
+ /** @export */ db: _environ_get,
8619
+ /** @export */ cb: _environ_sizes_get,
8620
+ /** @export */ V: _exit,
8502
8621
  /** @export */ B: _fd_close,
8503
- /** @export */ ab: _fd_pread,
8504
- /** @export */ ba: _fd_read,
8505
- /** @export */ $a: _fd_seek,
8622
+ /** @export */ bb: _fd_pread,
8623
+ /** @export */ ea: _fd_read,
8624
+ /** @export */ ab: _fd_seek,
8506
8625
  /** @export */ H: _fd_write,
8507
- /** @export */ _a: _proc_exit,
8508
- /** @export */ Za: _random_get,
8509
- /** @export */ S: _wgpuBufferGetSize,
8510
- /** @export */ ta: _wgpuBufferGetUsage,
8626
+ /** @export */ $a: _proc_exit,
8627
+ /** @export */ _a: _random_get,
8628
+ /** @export */ M: _wgpuBufferGetSize,
8629
+ /** @export */ ua: _wgpuBufferGetUsage,
8511
8630
  /** @export */ p: _wgpuCommandEncoderBeginComputePass,
8512
- /** @export */ I: _wgpuCommandEncoderClearBuffer,
8631
+ /** @export */ L: _wgpuCommandEncoderClearBuffer,
8513
8632
  /** @export */ v: _wgpuCommandEncoderCopyBufferToBuffer,
8514
- /** @export */ sa: _wgpuCommandEncoderCopyBufferToTexture,
8515
- /** @export */ ra: _wgpuCommandEncoderCopyTextureToBuffer,
8516
- /** @export */ qa: _wgpuCommandEncoderCopyTextureToTexture,
8517
- /** @export */ i: _wgpuCommandEncoderFinish,
8518
- /** @export */ pa: _wgpuCommandEncoderResolveQuerySet,
8633
+ /** @export */ ta: _wgpuCommandEncoderCopyBufferToTexture,
8634
+ /** @export */ sa: _wgpuCommandEncoderCopyTextureToBuffer,
8635
+ /** @export */ ra: _wgpuCommandEncoderCopyTextureToTexture,
8636
+ /** @export */ f: _wgpuCommandEncoderFinish,
8637
+ /** @export */ qa: _wgpuCommandEncoderResolveQuerySet,
8519
8638
  /** @export */ q: _wgpuComputePassEncoderDispatchWorkgroups,
8520
8639
  /** @export */ o: _wgpuComputePassEncoderEnd,
8521
- /** @export */ oa: _wgpuComputePassEncoderSetBindGroup,
8522
- /** @export */ R: _wgpuComputePassEncoderSetPipeline,
8523
- /** @export */ na: _wgpuDeviceCreateBindGroup,
8524
- /** @export */ ma: _wgpuDeviceCreateBindGroupLayout,
8525
- /** @export */ h: _wgpuDeviceCreateCommandEncoder,
8526
- /** @export */ la: _wgpuDeviceCreateComputePipeline,
8527
- /** @export */ ka: _wgpuDeviceCreatePipelineLayout,
8528
- /** @export */ ja: _wgpuDeviceCreateQuerySet,
8529
- /** @export */ ia: _wgpuDeviceCreateTexture,
8640
+ /** @export */ U: _wgpuComputePassEncoderSetBindGroup,
8641
+ /** @export */ K: _wgpuComputePassEncoderSetPipeline,
8642
+ /** @export */ pa: _wgpuComputePipelineGetBindGroupLayout,
8643
+ /** @export */ T: _wgpuDeviceCreateBindGroup,
8644
+ /** @export */ oa: _wgpuDeviceCreateBindGroupLayout,
8645
+ /** @export */ e: _wgpuDeviceCreateCommandEncoder,
8646
+ /** @export */ J: _wgpuDeviceCreateComputePipeline,
8647
+ /** @export */ na: _wgpuDeviceCreatePipelineLayout,
8648
+ /** @export */ ma: _wgpuDeviceCreateQuerySet,
8649
+ /** @export */ la: _wgpuDeviceCreateTexture,
8530
8650
  /** @export */ D: _wgpuDeviceGetAdapterInfo,
8531
- /** @export */ ha: _wgpuDeviceGetLimits,
8532
- /** @export */ ga: _wgpuDeviceHasFeature,
8651
+ /** @export */ ka: _wgpuDeviceGetLimits,
8652
+ /** @export */ ja: _wgpuDeviceHasFeature,
8533
8653
  /** @export */ d: _wgpuQueueSubmit,
8534
- /** @export */ Q: _wgpuQueueWriteBuffer,
8535
- /** @export */ fa: _wgpuQueueWriteTexture,
8536
- /** @export */ ea: _wgpuTextureCreateView,
8537
- /** @export */ da: _wgpuTextureDestroy,
8538
- /** @export */ P: _wgpuTextureGetDepthOrArrayLayers,
8654
+ /** @export */ I: _wgpuQueueWriteBuffer,
8655
+ /** @export */ ia: _wgpuQueueWriteTexture,
8656
+ /** @export */ ha: _wgpuTextureCreateView,
8657
+ /** @export */ ga: _wgpuTextureDestroy,
8658
+ /** @export */ S: _wgpuTextureGetDepthOrArrayLayers,
8539
8659
  /** @export */ C: _wgpuTextureGetHeight,
8540
- /** @export */ O: _wgpuTextureGetWidth
8660
+ /** @export */ R: _wgpuTextureGetWidth
8541
8661
  };
8542
8662
 
8543
8663
  // Argument name here must shadow the `wasmExports` global so
@@ -8549,50 +8669,35 @@ function applySignatureConversions(wasmExports) {
8549
8669
  var makeWrapper_pp = f => a0 => f(a0) >>> 0;
8550
8670
  var makeWrapper_ppp = f => (a0, a1) => f(a0, a1) >>> 0;
8551
8671
  var makeWrapper_p = f => () => f() >>> 0;
8552
- wasmExports["mc"] = makeWrapper_pp(wasmExports["mc"]);
8672
+ wasmExports["oc"] = makeWrapper_pp(wasmExports["oc"]);
8553
8673
  wasmExports["realloc"] = makeWrapper_ppp(wasmExports["realloc"]);
8554
- wasmExports["Uc"] = makeWrapper_pp(wasmExports["Uc"]);
8555
- wasmExports["Vc"] = makeWrapper_ppp(wasmExports["Vc"]);
8556
- wasmExports["Wc"] = makeWrapper_ppp(wasmExports["Wc"]);
8557
- wasmExports["Yc"] = makeWrapper_pp(wasmExports["Yc"]);
8558
- wasmExports["Zc"] = makeWrapper_p(wasmExports["Zc"]);
8674
+ wasmExports["Wc"] = makeWrapper_pp(wasmExports["Wc"]);
8675
+ wasmExports["Xc"] = makeWrapper_ppp(wasmExports["Xc"]);
8676
+ wasmExports["Yc"] = makeWrapper_ppp(wasmExports["Yc"]);
8677
+ wasmExports["_c"] = makeWrapper_pp(wasmExports["_c"]);
8678
+ wasmExports["$c"] = makeWrapper_p(wasmExports["$c"]);
8559
8679
  return wasmExports;
8560
8680
  }
8561
8681
 
8562
8682
  // include: postamble.js
8563
8683
  // === Auto-generated postamble setup entry stuff ===
8564
8684
  async function run() {
8565
- if (runDependencies > 0) {
8566
- await new Promise(resolve => dependenciesFulfilled = resolve);
8567
- }
8568
8685
  preRun();
8569
- // a preRun added a dependency, run will be called later
8570
- if (runDependencies > 0) {
8571
- await new Promise(resolve => dependenciesFulfilled = resolve);
8572
- }
8573
- function doRun() {
8574
- // run may have just been called through dependencies being fulfilled just in this very frame,
8575
- // or while the async setStatus time below was happening
8576
- Module["calledRun"] = true;
8577
- if (ABORT) return;
8578
- initRuntime();
8579
- Module["onRuntimeInitialized"]?.();
8580
- postRun();
8581
- }
8582
- if (Module["setStatus"]) {
8583
- Module["setStatus"]("Running...");
8584
- // Yield the main thread to allow the browser to paint "Running...", then clear
8585
- // the status text after the synchronous doRun() completes.
8586
- await new Promise(resolve => {
8587
- setTimeout(() => {
8588
- setTimeout(() => Module["setStatus"](""), 1);
8589
- doRun();
8590
- resolve();
8591
- }, 1);
8592
- });
8593
- } else {
8594
- doRun();
8595
- }
8686
+ if (runDependencies) {
8687
+ await resolveRunDependencies();
8688
+ }
8689
+ var setStatus = Module["setStatus"];
8690
+ if (setStatus) {
8691
+ setStatus("Running...");
8692
+ // Yield to the event loop to allow the browser to paint "Running..."
8693
+ await new Promise(resolve => setTimeout(resolve, 1));
8694
+ // Then we want to clear the status text, but only after the rest of this function runs.
8695
+ setTimeout(setStatus, 1, "");
8696
+ }
8697
+ if (ABORT) return;
8698
+ initRuntime();
8699
+ Module["onRuntimeInitialized"]?.();
8700
+ postRun();
8596
8701
  }
8597
8702
 
8598
8703
  var wasmExports;