@php-wasm/node 0.5.5 → 0.6.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.
package/php_8_3.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const dependencyFilename = __dirname + '/8_3_0/php_8_3.wasm';
2
2
  export { dependencyFilename };
3
- export const dependenciesTotalSize = 11367550;
3
+ export const dependenciesTotalSize = 11370166;
4
4
  export function init(RuntimeName, PHPLoader) {
5
5
  /**
6
6
  * Overrides Emscripten's default ExitStatus object which gets
@@ -349,10 +349,10 @@ function createWasm() {
349
349
  var exports = instance.exports;
350
350
  exports = Asyncify.instrumentWasmExports(exports);
351
351
  Module["asm"] = exports;
352
- wasmMemory = Module["asm"]["bb"];
352
+ wasmMemory = Module["asm"]["db"];
353
353
  updateMemoryViews();
354
- wasmTable = Module["asm"]["fb"];
355
- addOnInit(Module["asm"]["cb"]);
354
+ wasmTable = Module["asm"]["hb"];
355
+ addOnInit(Module["asm"]["eb"]);
356
356
  removeRunDependency("wasm-instantiate");
357
357
  return exports;
358
358
  }
@@ -427,6 +427,8 @@ var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
427
427
 
428
428
  var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
429
429
 
430
+ Module["UTF8ToString"] = UTF8ToString;
431
+
430
432
  var ___assert_fail = (condition, filename, line, func) => {
431
433
  abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
432
434
  };
@@ -585,6 +587,8 @@ var lengthBytesUTF8 = str => {
585
587
  return len;
586
588
  };
587
589
 
590
+ Module["lengthBytesUTF8"] = lengthBytesUTF8;
591
+
588
592
  var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
589
593
  if (!(maxBytesToWrite > 0)) return 0;
590
594
  var startIdx = outIdx;
@@ -2876,6 +2880,8 @@ var FS = {
2876
2880
  }
2877
2881
  };
2878
2882
 
2883
+ Module["FS"] = FS;
2884
+
2879
2885
  var SYSCALLS = {
2880
2886
  DEFAULT_POLLMASK: 5,
2881
2887
  calculateAt: function(dirfd, path, allowEmpty) {
@@ -3991,6 +3997,8 @@ function ___syscall_ftruncate64(fd, length_low, length_high) {
3991
3997
 
3992
3998
  var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
3993
3999
 
4000
+ Module["stringToUTF8"] = stringToUTF8;
4001
+
3994
4002
  function ___syscall_getcwd(buf, size) {
3995
4003
  try {
3996
4004
  if (size === 0) return -28;
@@ -5423,6 +5431,46 @@ var stringToUTF8OnStack = str => {
5423
5431
  var allocateUTF8OnStack = stringToUTF8OnStack;
5424
5432
 
5425
5433
  var PHPWASM = {
5434
+ init: function() {
5435
+ PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE ? require("events").EventEmitter : class EventEmitter {
5436
+ constructor() {
5437
+ this.listeners = {};
5438
+ }
5439
+ emit(eventName, data) {
5440
+ if (this.listeners[eventName]) {
5441
+ this.listeners[eventName].forEach((callback => {
5442
+ callback(data);
5443
+ }));
5444
+ }
5445
+ }
5446
+ once(eventName, callback) {
5447
+ const self = this;
5448
+ function removedCallback() {
5449
+ callback(...arguments);
5450
+ self.removeListener(eventName, removedCallback);
5451
+ }
5452
+ this.on(eventName, removedCallback);
5453
+ }
5454
+ removeAllListeners(eventName) {
5455
+ if (eventName) {
5456
+ delete this.listeners[eventName];
5457
+ } else {
5458
+ this.listeners = {};
5459
+ }
5460
+ }
5461
+ removeListener(eventName, callback) {
5462
+ if (this.listeners[eventName]) {
5463
+ const idx = this.listeners[eventName].indexOf(callback);
5464
+ if (idx !== -1) {
5465
+ this.listeners[eventName].splice(idx, 1);
5466
+ }
5467
+ }
5468
+ }
5469
+ };
5470
+ PHPWASM.child_proc_by_fd = {};
5471
+ PHPWASM.child_proc_by_pid = {};
5472
+ PHPWASM.input_devices = {};
5473
+ },
5426
5474
  getAllWebSockets: function(sock) {
5427
5475
  const webSockets = new Set;
5428
5476
  if (sock.server) {
@@ -5452,27 +5500,27 @@ var PHPWASM = {
5452
5500
  return Array.from(peers);
5453
5501
  },
5454
5502
  awaitData: function(ws) {
5455
- return PHPWASM.awaitWsEvent(ws, "message");
5503
+ return PHPWASM.awaitEvent(ws, "message");
5456
5504
  },
5457
5505
  awaitConnection: function(ws) {
5458
5506
  if (ws.OPEN === ws.readyState) {
5459
5507
  return [ Promise.resolve(), PHPWASM.noop ];
5460
5508
  }
5461
- return PHPWASM.awaitWsEvent(ws, "open");
5509
+ return PHPWASM.awaitEvent(ws, "open");
5462
5510
  },
5463
5511
  awaitClose: function(ws) {
5464
5512
  if ([ ws.CLOSING, ws.CLOSED ].includes(ws.readyState)) {
5465
5513
  return [ Promise.resolve(), PHPWASM.noop ];
5466
5514
  }
5467
- return PHPWASM.awaitWsEvent(ws, "close");
5515
+ return PHPWASM.awaitEvent(ws, "close");
5468
5516
  },
5469
5517
  awaitError: function(ws) {
5470
5518
  if ([ ws.CLOSING, ws.CLOSED ].includes(ws.readyState)) {
5471
5519
  return [ Promise.resolve(), PHPWASM.noop ];
5472
5520
  }
5473
- return PHPWASM.awaitWsEvent(ws, "error");
5521
+ return PHPWASM.awaitEvent(ws, "error");
5474
5522
  },
5475
- awaitWsEvent: function(ws, event) {
5523
+ awaitEvent: function(ws, event) {
5476
5524
  let resolve;
5477
5525
  const listener = () => {
5478
5526
  resolve();
@@ -5488,13 +5536,15 @@ var PHPWASM = {
5488
5536
  return [ promise, cancel ];
5489
5537
  },
5490
5538
  noop: function() {},
5491
- spawnProcess: function(command) {
5539
+ spawnProcess: function(command, args) {
5492
5540
  if (Module["spawnProcess"]) {
5493
- const spawned = Module["spawnProcess"](command);
5494
- if (!spawned || !spawned.on) {
5495
- throw new Error("spawnProcess() must return an EventEmitter but returned a different type.");
5496
- }
5497
- return spawned;
5541
+ const spawnedPromise = Module["spawnProcess"](command, args);
5542
+ return Promise.resolve(spawnedPromise).then((function(spawned) {
5543
+ if (!spawned || !spawned.on) {
5544
+ throw new Error("spawnProcess() must return an EventEmitter but returned a different type.");
5545
+ }
5546
+ return spawned;
5547
+ }));
5498
5548
  }
5499
5549
  if (ENVIRONMENT_IS_NODE) {
5500
5550
  return require("child_process").spawn(command, [], {
@@ -5524,13 +5574,10 @@ var PHPWASM = {
5524
5574
  }
5525
5575
  };
5526
5576
 
5527
- function _js_create_input_device(procopenCallId) {
5528
- if (!PHPWASM.input_devices) {
5529
- PHPWASM.input_devices = {};
5530
- }
5577
+ function _js_create_input_device(deviceId) {
5531
5578
  let dataBuffer = [];
5532
5579
  let dataCallback;
5533
- const filename = "proc_id_" + procopenCallId;
5580
+ const filename = "proc_id_" + deviceId;
5534
5581
  const device = FS.createDevice("/dev", filename, (function() {}), (function(byte) {
5535
5582
  try {
5536
5583
  dataBuffer.push(byte);
@@ -5544,7 +5591,7 @@ function _js_create_input_device(procopenCallId) {
5544
5591
  }
5545
5592
  }));
5546
5593
  const devicePath = "/dev/" + filename;
5547
- PHPWASM.input_devices[procopenCallId] = {
5594
+ PHPWASM.input_devices[deviceId] = {
5548
5595
  devicePath: devicePath,
5549
5596
  onData: function(cb) {
5550
5597
  dataCallback = cb;
@@ -5569,7 +5616,7 @@ function _js_fd_read(fd, iov, iovcnt, pnum) {
5569
5616
  if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5570
5617
  returnCode = e.errno;
5571
5618
  }
5572
- if (returnCode === 6 && stream?.fd in PHPWASM.proc_fds) {
5619
+ if (returnCode === 6 && stream?.fd in PHPWASM.child_proc_by_fd) {
5573
5620
  return Asyncify.handleSleep((function(wakeUp) {
5574
5621
  var retries = 0;
5575
5622
  var interval = 50;
@@ -5590,7 +5637,7 @@ function _js_fd_read(fd, iov, iovcnt, pnum) {
5590
5637
  }
5591
5638
  returnCode = e.errno;
5592
5639
  }
5593
- if (returnCode !== 6 || ++retries > maxRetries || !(stream?.fd in PHPWASM.proc_fds) || PHPWASM.proc_fds[stream?.fd]?.exited || FS.isClosed(stream) || !(PHPWASM.proc_fds[fd]?.stdinFd in (PHPWASM.input_devices || {}))) {
5640
+ if (returnCode !== 6 || ++retries > maxRetries || !(fd in PHPWASM.child_proc_by_fd) || PHPWASM.child_proc_by_fd[fd]?.exited || FS.isClosed(stream)) {
5594
5641
  wakeUp(returnCode);
5595
5642
  } else {
5596
5643
  setTimeout(poll, interval);
@@ -5628,10 +5675,7 @@ function _js_module_onMessage(data, bufPtr) {
5628
5675
  }
5629
5676
  }
5630
5677
 
5631
- function _js_open_process(command, stdinFd, stdoutChildFd, stdoutParentFd, stderrChildFd, stderrParentFd) {
5632
- if (!PHPWASM.proc_fds) {
5633
- PHPWASM.proc_fds = {};
5634
- }
5678
+ function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descriptorsLength) {
5635
5679
  if (!command) {
5636
5680
  return 1;
5637
5681
  }
@@ -5639,104 +5683,122 @@ function _js_open_process(command, stdinFd, stdoutChildFd, stdoutParentFd, stder
5639
5683
  if (!cmdstr.length) {
5640
5684
  return 0;
5641
5685
  }
5642
- let cp;
5643
- try {
5644
- cp = PHPWASM.spawnProcess(cmdstr);
5645
- } catch (e) {
5646
- if (e.code === "SPAWN_UNSUPPORTED") {
5647
- return 1;
5686
+ let argsArray = [];
5687
+ if (argsLength) {
5688
+ for (var i = 0; i < argsLength; i++) {
5689
+ const charPointer = argsPtr + i * 4;
5690
+ argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
5648
5691
  }
5649
- throw e;
5650
5692
  }
5651
- let EventEmitter;
5652
- if (ENVIRONMENT_IS_NODE) {
5653
- EventEmitter = require("events").EventEmitter;
5654
- } else {
5655
- EventEmitter = function() {
5656
- this.listeners = {};
5657
- };
5658
- EventEmitter.prototype.emit = function(eventName, data) {
5659
- if (this.listeners[eventName]) {
5660
- this.listeners[eventName].forEach((function(callback) {
5661
- callback(data);
5662
- }));
5663
- }
5693
+ var std = {};
5694
+ for (var i = 0; i < descriptorsLength; i++) {
5695
+ const descriptorPtr = HEAPU32[descriptorsPtr + i * 4 >> 2];
5696
+ std[HEAPU32[descriptorPtr >> 2]] = {
5697
+ child: HEAPU32[descriptorPtr + 4 >> 2],
5698
+ parent: HEAPU32[descriptorPtr + 8 >> 2]
5664
5699
  };
5665
- EventEmitter.prototype.once = function(eventName, callback) {
5666
- const self = this;
5667
- function removedCallback() {
5668
- callback(...arguments);
5669
- self.removeListener(eventName, removedCallback);
5670
- }
5671
- this.on(eventName, removedCallback);
5672
- };
5673
- EventEmitter.prototype.on = function(eventName, callback) {
5674
- if (!this.listeners[eventName]) {
5675
- this.listeners[eventName] = [];
5676
- }
5677
- this.listeners[eventName].push(callback);
5678
- };
5679
- EventEmitter.prototype.removeListener = function(eventName, callback) {
5680
- const idx = this.listeners[eventName].indexOf(callback);
5681
- if (idx !== -1) {
5682
- this.listeners[eventName].splice(idx, 1);
5700
+ }
5701
+ return Asyncify.handleSleep((async wakeUp => {
5702
+ let cp;
5703
+ try {
5704
+ cp = await PHPWASM.spawnProcess(cmdstr, argsArray);
5705
+ } catch (e) {
5706
+ if (e.code === "SPAWN_UNSUPPORTED") {
5707
+ wakeUp(1);
5708
+ return;
5683
5709
  }
5710
+ console.error(e);
5711
+ wakeUp(1);
5712
+ throw e;
5713
+ }
5714
+ const ProcInfo = {
5715
+ pid: cp.pid,
5716
+ exited: false,
5717
+ stdinFd: std[0]?.child,
5718
+ stdinIsDevice: std[0]?.child in PHPWASM.input_devices,
5719
+ stdoutChildFd: std[1]?.child,
5720
+ stdoutParentFd: std[1]?.parent,
5721
+ stderrChildFd: std[2]?.child,
5722
+ stderrParentFd: std[2]?.parent,
5723
+ stdout: new PHPWASM.EventEmitter,
5724
+ stderr: new PHPWASM.EventEmitter
5684
5725
  };
5685
- }
5686
- PHPWASM.proc_fds[stdoutParentFd] = new EventEmitter;
5687
- PHPWASM.proc_fds[stdoutParentFd].stdinFd = stdinFd;
5688
- PHPWASM.proc_fds[stderrParentFd] = new EventEmitter;
5689
- PHPWASM.proc_fds[stderrParentFd].stdinFd = stdinFd;
5690
- const stdoutStream = SYSCALLS.getStreamFromFD(stdoutChildFd);
5691
- cp.on("exit", (function(data) {
5692
- PHPWASM.proc_fds[stdoutParentFd].exited = true;
5693
- PHPWASM.proc_fds[stdoutParentFd].emit("data");
5694
- PHPWASM.proc_fds[stderrParentFd].exited = true;
5695
- PHPWASM.proc_fds[stderrParentFd].emit("data");
5696
- }));
5697
- cp.stdout.on("data", (function(data) {
5698
- PHPWASM.proc_fds[stdoutParentFd].hasData = true;
5699
- PHPWASM.proc_fds[stdoutParentFd].emit("data");
5700
- stdoutStream.stream_ops.write(stdoutStream, data, 0, data.length, 0);
5701
- }));
5702
- const stderrStream = SYSCALLS.getStreamFromFD(stderrChildFd);
5703
- cp.stderr.on("data", (function(data) {
5704
- PHPWASM.proc_fds[stderrParentFd].hasData = true;
5705
- PHPWASM.proc_fds[stderrParentFd].emit("data");
5706
- stderrStream.stream_ops.write(stderrStream, data, 0, data.length, 0);
5707
- }));
5708
- if (PHPWASM.input_devices && stdinFd in PHPWASM.input_devices) {
5709
- PHPWASM.input_devices[stdinFd].onData((function(data) {
5710
- if (!data) return;
5711
- const dataStr = new TextDecoder("utf-8").decode(data);
5712
- cp.stdin.write(dataStr);
5726
+ if (ProcInfo.stdoutChildFd) PHPWASM.child_proc_by_fd[ProcInfo.stdoutChildFd] = ProcInfo;
5727
+ if (ProcInfo.stderrChildFd) PHPWASM.child_proc_by_fd[ProcInfo.stderrChildFd] = ProcInfo;
5728
+ if (ProcInfo.stdoutParentFd) PHPWASM.child_proc_by_fd[ProcInfo.stdoutParentFd] = ProcInfo;
5729
+ if (ProcInfo.stderrParentFd) PHPWASM.child_proc_by_fd[ProcInfo.stderrParentFd] = ProcInfo;
5730
+ PHPWASM.child_proc_by_pid[ProcInfo.pid] = ProcInfo;
5731
+ cp.on("exit", (function(code) {
5732
+ ProcInfo.exitCode = code;
5733
+ ProcInfo.exited = true;
5734
+ ProcInfo.stdout.emit("data");
5735
+ ProcInfo.stderr.emit("data");
5713
5736
  }));
5714
- return 0;
5715
- }
5716
- const stdinStream = SYSCALLS.getStreamFromFD(stdinFd);
5717
- if (!stdinStream.node) {
5718
- return 0;
5719
- }
5720
- const CHUNK_SIZE = 1024;
5721
- const buffer = Buffer.alloc(CHUNK_SIZE);
5722
- let offset = 0;
5723
- while (true) {
5724
- const bytesRead = stdinStream.stream_ops.read(stdinStream, buffer, 0, CHUNK_SIZE, offset);
5725
- if (bytesRead === null || bytesRead === 0) {
5726
- break;
5737
+ if (ProcInfo.stdoutChildFd) {
5738
+ const stdoutStream = SYSCALLS.getStreamFromFD(ProcInfo.stdoutChildFd);
5739
+ let stdoutAt = 0;
5740
+ cp.stdout.on("data", (function(data) {
5741
+ ProcInfo.stdout.emit("data", data);
5742
+ stdoutStream.stream_ops.write(stdoutStream, data, 0, data.length, stdoutAt);
5743
+ stdoutAt += data.length;
5744
+ }));
5745
+ }
5746
+ if (ProcInfo.stderrChildFd) {
5747
+ const stderrStream = SYSCALLS.getStreamFromFD(ProcInfo.stderrChildFd);
5748
+ let stderrAt = 0;
5749
+ cp.stderr.on("data", (function(data) {
5750
+ ProcInfo.stderr.emit("data", data);
5751
+ stderrStream.stream_ops.write(stderrStream, data, 0, data.length, stderrAt);
5752
+ stderrAt += data.length;
5753
+ }));
5727
5754
  }
5728
5755
  try {
5729
- cp.stdin.write(buffer.subarray(0, bytesRead));
5756
+ await new Promise(((resolve, reject) => {
5757
+ cp.on("spawn", resolve);
5758
+ cp.on("error", reject);
5759
+ }));
5730
5760
  } catch (e) {
5731
5761
  console.error(e);
5732
- return 1;
5762
+ wakeUp(1);
5763
+ return;
5733
5764
  }
5734
- if (bytesRead < CHUNK_SIZE) {
5735
- break;
5765
+ if (ProcInfo.stdinIsDevice) {
5766
+ PHPWASM.input_devices[ProcInfo.stdinFd].onData((function(data) {
5767
+ if (!data) return;
5768
+ const dataStr = new TextDecoder("utf-8").decode(data);
5769
+ cp.stdin.write(dataStr);
5770
+ }));
5771
+ wakeUp(ProcInfo.pid);
5772
+ return;
5736
5773
  }
5737
- offset += bytesRead;
5738
- }
5739
- return 0;
5774
+ if (ProcInfo.stdinFd) {
5775
+ const stdinStream = SYSCALLS.getStreamFromFD(ProcInfo.stdinFd);
5776
+ if (stdinStream.node) {
5777
+ const CHUNK_SIZE = 1024;
5778
+ const buffer = new Uint8Array(CHUNK_SIZE);
5779
+ let offset = 0;
5780
+ while (true) {
5781
+ const bytesRead = stdinStream.stream_ops.read(stdinStream, buffer, 0, CHUNK_SIZE, offset);
5782
+ if (bytesRead === null || bytesRead === 0) {
5783
+ break;
5784
+ }
5785
+ try {
5786
+ cp.stdin.write(buffer.subarray(0, bytesRead));
5787
+ } catch (e) {
5788
+ console.error(e);
5789
+ return 1;
5790
+ }
5791
+ if (bytesRead < CHUNK_SIZE) {
5792
+ break;
5793
+ }
5794
+ offset += bytesRead;
5795
+ }
5796
+ wakeUp(ProcInfo.pid);
5797
+ return;
5798
+ }
5799
+ }
5800
+ wakeUp(ProcInfo.pid);
5801
+ }));
5740
5802
  }
5741
5803
 
5742
5804
  function _js_popen_to_file(command, mode, exitCodePtr) {
@@ -5748,10 +5810,10 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
5748
5810
  if (modestr === "w") {
5749
5811
  console.error('popen($cmd, "w") is not implemented yet');
5750
5812
  }
5751
- return Asyncify.handleSleep((wakeUp => {
5813
+ return Asyncify.handleSleep((async wakeUp => {
5752
5814
  let cp;
5753
5815
  try {
5754
- cp = PHPWASM.spawnProcess(cmdstr);
5816
+ cp = await PHPWASM.spawnProcess(cmdstr, []);
5755
5817
  } catch (e) {
5756
5818
  console.error(e);
5757
5819
  if (e.code === "SPAWN_UNSUPPORTED") {
@@ -5778,6 +5840,33 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
5778
5840
  }));
5779
5841
  }
5780
5842
 
5843
+ function _js_process_status(pid) {
5844
+ if (!PHPWASM.child_proc_by_pid[pid]) {
5845
+ return -1;
5846
+ }
5847
+ if (PHPWASM.child_proc_by_pid[pid].exited) {
5848
+ return 1;
5849
+ }
5850
+ return 0;
5851
+ }
5852
+
5853
+ function _js_waitpid(pid, exitCodePtr) {
5854
+ if (!PHPWASM.child_proc_by_pid[pid]) {
5855
+ return -1;
5856
+ }
5857
+ return Asyncify.handleSleep((wakeUp => {
5858
+ const poll = function() {
5859
+ if (PHPWASM.child_proc_by_pid[pid]?.exited) {
5860
+ HEAPU8[exitCodePtr] = PHPWASM.child_proc_by_pid[pid].exitCode;
5861
+ wakeUp(0);
5862
+ } else {
5863
+ setTimeout(poll, 50);
5864
+ }
5865
+ };
5866
+ poll();
5867
+ }));
5868
+ }
5869
+
5781
5870
  function _makecontext() {
5782
5871
  err("missing function: makecontext");
5783
5872
  abort(-1);
@@ -6230,13 +6319,13 @@ function _wasm_poll_socket(socketd, events, timeout) {
6230
6319
  const POLLNVAL = 32;
6231
6320
  return Asyncify.handleSleep((wakeUp => {
6232
6321
  const polls = [];
6233
- if (PHPWASM.proc_fds && socketd in PHPWASM.proc_fds) {
6234
- const emitter = PHPWASM.proc_fds[socketd];
6235
- if (emitter.exited) {
6322
+ if (socketd in PHPWASM.child_proc_by_fd) {
6323
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
6324
+ if (procInfo.exited) {
6236
6325
  wakeUp(0);
6237
6326
  return;
6238
6327
  }
6239
- polls.push(PHPWASM.awaitWsEvent(emitter, "data"));
6328
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, "data"));
6240
6329
  } else {
6241
6330
  const sock = getSocketFromFD(socketd);
6242
6331
  if (!sock) {
@@ -6347,7 +6436,7 @@ function runAndAbortIfError(func) {
6347
6436
 
6348
6437
  var Asyncify = {
6349
6438
  instrumentWasmImports: function(imports) {
6350
- var importPatterns = [ /^_dlopen_js$/, /^invoke_i$/, /^invoke_ii$/, /^invoke_iii$/, /^invoke_iiii$/, /^invoke_iiiii$/, /^invoke_iiiiii$/, /^invoke_iiiiiii$/, /^invoke_iiiiiiii$/, /^invoke_iiiiiiiiii$/, /^invoke_v$/, /^invoke_vi$/, /^invoke_vii$/, /^invoke_viidii$/, /^invoke_viii$/, /^invoke_viiii$/, /^invoke_viiiii$/, /^invoke_viiiiii$/, /^invoke_viiiiiii$/, /^invoke_viiiiiiiii$/, /^js_open_process$/, /^js_popen_to_file$/, /^js_fd_read$/, /^js_module_onMessage$/, /^wasm_poll_socket$/, /^wasm_shutdown$/, /^fd_sync$/, /^__wasi_fd_sync$/, /^__asyncjs__.*$/, /^emscripten_promise_await$/, /^emscripten_idb_load$/, /^emscripten_idb_store$/, /^emscripten_idb_delete$/, /^emscripten_idb_exists$/, /^emscripten_idb_load_blob$/, /^emscripten_idb_store_blob$/, /^emscripten_sleep$/, /^emscripten_wget_data$/, /^emscripten_scan_registers$/, /^emscripten_lazy_load_code$/, /^_load_secondary_module$/, /^emscripten_fiber_swap$/, /^SDL_Delay$/ ];
6439
+ var importPatterns = [ /^_dlopen_js$/, /^invoke_i$/, /^invoke_ii$/, /^invoke_iii$/, /^invoke_iiii$/, /^invoke_iiiii$/, /^invoke_iiiiii$/, /^invoke_iiiiiii$/, /^invoke_iiiiiiii$/, /^invoke_iiiiiiiiii$/, /^invoke_v$/, /^invoke_vi$/, /^invoke_vii$/, /^invoke_viidii$/, /^invoke_viii$/, /^invoke_viiii$/, /^invoke_viiiii$/, /^invoke_viiiiii$/, /^invoke_viiiiiii$/, /^invoke_viiiiiiiii$/, /^js_open_process$/, /^js_popen_to_file$/, /^js_fd_read$/, /^js_module_onMessage$/, /^js_waitpid$/, /^wasm_poll_socket$/, /^wasm_shutdown$/, /^fd_sync$/, /^__wasi_fd_sync$/, /^__asyncjs__.*$/, /^emscripten_promise_await$/, /^emscripten_idb_load$/, /^emscripten_idb_store$/, /^emscripten_idb_delete$/, /^emscripten_idb_exists$/, /^emscripten_idb_load_blob$/, /^emscripten_idb_store_blob$/, /^emscripten_sleep$/, /^emscripten_wget_data$/, /^emscripten_scan_registers$/, /^emscripten_lazy_load_code$/, /^_load_secondary_module$/, /^emscripten_fiber_swap$/, /^SDL_Delay$/ ];
6351
6440
  for (var x in imports) {
6352
6441
  (function(x) {
6353
6442
  var original = imports[x];
@@ -6768,83 +6857,85 @@ ERRNO_CODES = {
6768
6857
  "ESTRPIPE": 135
6769
6858
  };
6770
6859
 
6860
+ PHPWASM.init();
6861
+
6771
6862
  var wasmImports = {
6772
6863
  l: ___assert_fail,
6773
- ab: ___call_sighandler,
6774
- $a: ___syscall__newselect,
6775
- _a: ___syscall_accept4,
6776
- Za: ___syscall_bind,
6777
- Ya: ___syscall_chdir,
6864
+ cb: ___call_sighandler,
6865
+ bb: ___syscall__newselect,
6866
+ ab: ___syscall_accept4,
6867
+ $a: ___syscall_bind,
6868
+ _a: ___syscall_chdir,
6778
6869
  S: ___syscall_chmod,
6779
- Xa: ___syscall_connect,
6780
- Wa: ___syscall_dup,
6781
- Va: ___syscall_dup3,
6782
- Ua: ___syscall_faccessat,
6870
+ Za: ___syscall_connect,
6871
+ Ya: ___syscall_dup,
6872
+ Xa: ___syscall_dup3,
6873
+ Wa: ___syscall_faccessat,
6783
6874
  ca: ___syscall_fallocate,
6784
- Ta: ___syscall_fchmod,
6785
- Sa: ___syscall_fchown32,
6875
+ Va: ___syscall_fchmod,
6876
+ Ua: ___syscall_fchown32,
6786
6877
  R: ___syscall_fchownat,
6787
6878
  n: ___syscall_fcntl64,
6788
- Ra: ___syscall_fdatasync,
6789
- Qa: ___syscall_fstat64,
6879
+ Ta: ___syscall_fdatasync,
6880
+ Sa: ___syscall_fstat64,
6790
6881
  ba: ___syscall_ftruncate64,
6791
- Pa: ___syscall_getcwd,
6792
- Oa: ___syscall_getdents64,
6793
- Na: ___syscall_getpeername,
6794
- Ma: ___syscall_getsockname,
6795
- La: ___syscall_getsockopt,
6882
+ Ra: ___syscall_getcwd,
6883
+ Qa: ___syscall_getdents64,
6884
+ Pa: ___syscall_getpeername,
6885
+ Oa: ___syscall_getsockname,
6886
+ Na: ___syscall_getsockopt,
6796
6887
  Q: ___syscall_ioctl,
6797
- Ka: ___syscall_listen,
6798
- Ja: ___syscall_lstat64,
6799
- Ia: ___syscall_mkdirat,
6800
- Ha: ___syscall_newfstatat,
6888
+ Ma: ___syscall_listen,
6889
+ La: ___syscall_lstat64,
6890
+ Ka: ___syscall_mkdirat,
6891
+ Ja: ___syscall_newfstatat,
6801
6892
  x: ___syscall_openat,
6802
- Ga: ___syscall_pipe,
6803
- Fa: ___syscall_poll,
6804
- Ea: ___syscall_readlinkat,
6805
- Da: ___syscall_recvfrom,
6806
- Ca: ___syscall_renameat,
6893
+ Ia: ___syscall_pipe,
6894
+ Ha: ___syscall_poll,
6895
+ Ga: ___syscall_readlinkat,
6896
+ Fa: ___syscall_recvfrom,
6897
+ Ea: ___syscall_renameat,
6807
6898
  P: ___syscall_rmdir,
6808
- Ba: ___syscall_sendto,
6899
+ Da: ___syscall_sendto,
6809
6900
  O: ___syscall_socket,
6810
- Aa: ___syscall_stat64,
6811
- za: ___syscall_statfs64,
6812
- ya: ___syscall_symlink,
6901
+ Ca: ___syscall_stat64,
6902
+ Ba: ___syscall_statfs64,
6903
+ Aa: ___syscall_symlink,
6813
6904
  E: ___syscall_unlinkat,
6814
- xa: ___syscall_utimensat,
6815
- sa: __emscripten_get_now_is_monotonic,
6816
- ra: __emscripten_throw_longjmp,
6905
+ za: ___syscall_utimensat,
6906
+ ua: __emscripten_get_now_is_monotonic,
6907
+ ta: __emscripten_throw_longjmp,
6817
6908
  $: __gmtime_js,
6818
6909
  _: __localtime_js,
6819
6910
  Z: __mktime_js,
6820
6911
  Y: __mmap_js,
6821
6912
  X: __munmap_js,
6822
6913
  L: __setitimer_js,
6823
- qa: __tzset_js,
6914
+ sa: __tzset_js,
6824
6915
  g: _abort,
6825
6916
  C: _emscripten_date_now,
6826
- pa: _emscripten_get_heap_max,
6917
+ ra: _emscripten_get_heap_max,
6827
6918
  u: _emscripten_get_now,
6828
- oa: _emscripten_memcpy_big,
6829
- na: _emscripten_resize_heap,
6919
+ qa: _emscripten_memcpy_big,
6920
+ pa: _emscripten_resize_heap,
6830
6921
  K: _emscripten_sleep,
6831
- wa: _environ_get,
6832
- va: _environ_sizes_get,
6922
+ ya: _environ_get,
6923
+ xa: _environ_sizes_get,
6833
6924
  q: _exit,
6834
6925
  r: _fd_close,
6835
6926
  N: _fd_fdstat_get,
6836
6927
  M: _fd_read,
6837
6928
  aa: _fd_seek,
6838
- ua: _fd_sync,
6929
+ wa: _fd_sync,
6839
6930
  D: _fd_write,
6840
- ma: _getaddrinfo,
6841
- la: _getcontext,
6842
- ka: _getdtablesize,
6931
+ oa: _getaddrinfo,
6932
+ na: _getcontext,
6933
+ ma: _getdtablesize,
6843
6934
  J: _gethostbyname_r,
6844
- ja: _getloadavg,
6935
+ la: _getloadavg,
6845
6936
  w: _getnameinfo,
6846
- ia: _getprotobyname,
6847
- ha: _getprotobynumber,
6937
+ ka: _getprotobyname,
6938
+ ja: _getprotobynumber,
6848
6939
  k: invoke_i,
6849
6940
  c: invoke_ii,
6850
6941
  b: invoke_iii,
@@ -6862,15 +6953,17 @@ var wasmImports = {
6862
6953
  m: invoke_viiii,
6863
6954
  h: invoke_viiiii,
6864
6955
  A: invoke_viiiiii,
6865
- ga: invoke_viiiiiii,
6956
+ ia: invoke_viiiiiii,
6866
6957
  z: invoke_viiiiiiiii,
6867
6958
  H: _js_create_input_device,
6868
- fa: _js_fd_read,
6869
- ea: _js_module_onMessage,
6959
+ ha: _js_fd_read,
6960
+ ga: _js_module_onMessage,
6870
6961
  G: _js_open_process,
6871
- da: _js_popen_to_file,
6962
+ fa: _js_popen_to_file,
6963
+ ea: _js_process_status,
6964
+ da: _js_waitpid,
6872
6965
  W: _makecontext,
6873
- ta: _proc_exit,
6966
+ va: _proc_exit,
6874
6967
  F: _strftime,
6875
6968
  V: _strptime,
6876
6969
  U: _swapcontext,
@@ -6883,175 +6976,179 @@ var wasmImports = {
6883
6976
  var asm = createWasm();
6884
6977
 
6885
6978
  var ___wasm_call_ctors = function() {
6886
- return (___wasm_call_ctors = Module["asm"]["cb"]).apply(null, arguments);
6979
+ return (___wasm_call_ctors = Module["asm"]["eb"]).apply(null, arguments);
6887
6980
  };
6888
6981
 
6889
6982
  var _free = function() {
6890
- return (_free = Module["asm"]["db"]).apply(null, arguments);
6983
+ return (_free = Module["asm"]["fb"]).apply(null, arguments);
6891
6984
  };
6892
6985
 
6893
6986
  var _memcpy = function() {
6894
- return (_memcpy = Module["asm"]["eb"]).apply(null, arguments);
6987
+ return (_memcpy = Module["asm"]["gb"]).apply(null, arguments);
6895
6988
  };
6896
6989
 
6897
6990
  var _malloc = function() {
6898
- return (_malloc = Module["asm"]["gb"]).apply(null, arguments);
6991
+ return (_malloc = Module["asm"]["ib"]).apply(null, arguments);
6899
6992
  };
6900
6993
 
6901
6994
  var ___errno_location = function() {
6902
- return (___errno_location = Module["asm"]["hb"]).apply(null, arguments);
6995
+ return (___errno_location = Module["asm"]["jb"]).apply(null, arguments);
6903
6996
  };
6904
6997
 
6905
6998
  var setTempRet0 = function() {
6906
- return (setTempRet0 = Module["asm"]["ib"]).apply(null, arguments);
6999
+ return (setTempRet0 = Module["asm"]["kb"]).apply(null, arguments);
6907
7000
  };
6908
7001
 
6909
7002
  var _wasm_popen = Module["_wasm_popen"] = function() {
6910
- return (_wasm_popen = Module["_wasm_popen"] = Module["asm"]["jb"]).apply(null, arguments);
7003
+ return (_wasm_popen = Module["_wasm_popen"] = Module["asm"]["lb"]).apply(null, arguments);
6911
7004
  };
6912
7005
 
6913
7006
  var _wasm_php_exec = Module["_wasm_php_exec"] = function() {
6914
- return (_wasm_php_exec = Module["_wasm_php_exec"] = Module["asm"]["kb"]).apply(null, arguments);
7007
+ return (_wasm_php_exec = Module["_wasm_php_exec"] = Module["asm"]["mb"]).apply(null, arguments);
6915
7008
  };
6916
7009
 
6917
7010
  var _php_pollfd_for = Module["_php_pollfd_for"] = function() {
6918
- return (_php_pollfd_for = Module["_php_pollfd_for"] = Module["asm"]["lb"]).apply(null, arguments);
7011
+ return (_php_pollfd_for = Module["_php_pollfd_for"] = Module["asm"]["nb"]).apply(null, arguments);
6919
7012
  };
6920
7013
 
6921
7014
  var _htons = function() {
6922
- return (_htons = Module["asm"]["mb"]).apply(null, arguments);
7015
+ return (_htons = Module["asm"]["ob"]).apply(null, arguments);
6923
7016
  };
6924
7017
 
6925
7018
  var _ntohs = function() {
6926
- return (_ntohs = Module["asm"]["nb"]).apply(null, arguments);
7019
+ return (_ntohs = Module["asm"]["pb"]).apply(null, arguments);
6927
7020
  };
6928
7021
 
6929
7022
  var _htonl = function() {
6930
- return (_htonl = Module["asm"]["ob"]).apply(null, arguments);
7023
+ return (_htonl = Module["asm"]["qb"]).apply(null, arguments);
6931
7024
  };
6932
7025
 
6933
7026
  var _wasm_sleep = Module["_wasm_sleep"] = function() {
6934
- return (_wasm_sleep = Module["_wasm_sleep"] = Module["asm"]["pb"]).apply(null, arguments);
7027
+ return (_wasm_sleep = Module["_wasm_sleep"] = Module["asm"]["rb"]).apply(null, arguments);
6935
7028
  };
6936
7029
 
6937
7030
  var _fflush = Module["_fflush"] = function() {
6938
- return (_fflush = Module["_fflush"] = Module["asm"]["qb"]).apply(null, arguments);
7031
+ return (_fflush = Module["_fflush"] = Module["asm"]["sb"]).apply(null, arguments);
6939
7032
  };
6940
7033
 
6941
7034
  var _wasm_read = Module["_wasm_read"] = function() {
6942
- return (_wasm_read = Module["_wasm_read"] = Module["asm"]["rb"]).apply(null, arguments);
7035
+ return (_wasm_read = Module["_wasm_read"] = Module["asm"]["tb"]).apply(null, arguments);
6943
7036
  };
6944
7037
 
6945
7038
  var _wasm_select = Module["_wasm_select"] = function() {
6946
- return (_wasm_select = Module["_wasm_select"] = Module["asm"]["sb"]).apply(null, arguments);
7039
+ return (_wasm_select = Module["_wasm_select"] = Module["asm"]["ub"]).apply(null, arguments);
6947
7040
  };
6948
7041
 
6949
7042
  var _wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = function() {
6950
- return (_wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = Module["asm"]["tb"]).apply(null, arguments);
7043
+ return (_wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = Module["asm"]["vb"]).apply(null, arguments);
6951
7044
  };
6952
7045
 
6953
7046
  var _run_cli = Module["_run_cli"] = function() {
6954
- return (_run_cli = Module["_run_cli"] = Module["asm"]["ub"]).apply(null, arguments);
7047
+ return (_run_cli = Module["_run_cli"] = Module["asm"]["wb"]).apply(null, arguments);
7048
+ };
7049
+
7050
+ var _wasm_set_sapi_name = Module["_wasm_set_sapi_name"] = function() {
7051
+ return (_wasm_set_sapi_name = Module["_wasm_set_sapi_name"] = Module["asm"]["xb"]).apply(null, arguments);
6955
7052
  };
6956
7053
 
6957
7054
  var _wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = function() {
6958
- return (_wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = Module["asm"]["vb"]).apply(null, arguments);
7055
+ return (_wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = Module["asm"]["yb"]).apply(null, arguments);
6959
7056
  };
6960
7057
 
6961
7058
  var _wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = function() {
6962
- return (_wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = Module["asm"]["wb"]).apply(null, arguments);
7059
+ return (_wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = Module["asm"]["zb"]).apply(null, arguments);
6963
7060
  };
6964
7061
 
6965
7062
  var _wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = function() {
6966
- return (_wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = Module["asm"]["xb"]).apply(null, arguments);
7063
+ return (_wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = Module["asm"]["Ab"]).apply(null, arguments);
6967
7064
  };
6968
7065
 
6969
7066
  var _wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = function() {
6970
- return (_wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = Module["asm"]["yb"]).apply(null, arguments);
7067
+ return (_wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = Module["asm"]["Bb"]).apply(null, arguments);
6971
7068
  };
6972
7069
 
6973
7070
  var _wasm_set_query_string = Module["_wasm_set_query_string"] = function() {
6974
- return (_wasm_set_query_string = Module["_wasm_set_query_string"] = Module["asm"]["zb"]).apply(null, arguments);
7071
+ return (_wasm_set_query_string = Module["_wasm_set_query_string"] = Module["asm"]["Cb"]).apply(null, arguments);
6975
7072
  };
6976
7073
 
6977
7074
  var _wasm_set_path_translated = Module["_wasm_set_path_translated"] = function() {
6978
- return (_wasm_set_path_translated = Module["_wasm_set_path_translated"] = Module["asm"]["Ab"]).apply(null, arguments);
7075
+ return (_wasm_set_path_translated = Module["_wasm_set_path_translated"] = Module["asm"]["Db"]).apply(null, arguments);
6979
7076
  };
6980
7077
 
6981
7078
  var _wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = function() {
6982
- return (_wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = Module["asm"]["Bb"]).apply(null, arguments);
7079
+ return (_wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = Module["asm"]["Eb"]).apply(null, arguments);
6983
7080
  };
6984
7081
 
6985
7082
  var _wasm_set_request_uri = Module["_wasm_set_request_uri"] = function() {
6986
- return (_wasm_set_request_uri = Module["_wasm_set_request_uri"] = Module["asm"]["Cb"]).apply(null, arguments);
7083
+ return (_wasm_set_request_uri = Module["_wasm_set_request_uri"] = Module["asm"]["Fb"]).apply(null, arguments);
6987
7084
  };
6988
7085
 
6989
7086
  var _wasm_set_request_method = Module["_wasm_set_request_method"] = function() {
6990
- return (_wasm_set_request_method = Module["_wasm_set_request_method"] = Module["asm"]["Db"]).apply(null, arguments);
7087
+ return (_wasm_set_request_method = Module["_wasm_set_request_method"] = Module["asm"]["Gb"]).apply(null, arguments);
6991
7088
  };
6992
7089
 
6993
7090
  var _wasm_set_request_host = Module["_wasm_set_request_host"] = function() {
6994
- return (_wasm_set_request_host = Module["_wasm_set_request_host"] = Module["asm"]["Eb"]).apply(null, arguments);
7091
+ return (_wasm_set_request_host = Module["_wasm_set_request_host"] = Module["asm"]["Hb"]).apply(null, arguments);
6995
7092
  };
6996
7093
 
6997
7094
  var _wasm_set_content_type = Module["_wasm_set_content_type"] = function() {
6998
- return (_wasm_set_content_type = Module["_wasm_set_content_type"] = Module["asm"]["Fb"]).apply(null, arguments);
7095
+ return (_wasm_set_content_type = Module["_wasm_set_content_type"] = Module["asm"]["Ib"]).apply(null, arguments);
6999
7096
  };
7000
7097
 
7001
7098
  var _wasm_set_request_body = Module["_wasm_set_request_body"] = function() {
7002
- return (_wasm_set_request_body = Module["_wasm_set_request_body"] = Module["asm"]["Gb"]).apply(null, arguments);
7099
+ return (_wasm_set_request_body = Module["_wasm_set_request_body"] = Module["asm"]["Jb"]).apply(null, arguments);
7003
7100
  };
7004
7101
 
7005
7102
  var _wasm_set_content_length = Module["_wasm_set_content_length"] = function() {
7006
- return (_wasm_set_content_length = Module["_wasm_set_content_length"] = Module["asm"]["Hb"]).apply(null, arguments);
7103
+ return (_wasm_set_content_length = Module["_wasm_set_content_length"] = Module["asm"]["Kb"]).apply(null, arguments);
7007
7104
  };
7008
7105
 
7009
7106
  var _wasm_set_cookies = Module["_wasm_set_cookies"] = function() {
7010
- return (_wasm_set_cookies = Module["_wasm_set_cookies"] = Module["asm"]["Ib"]).apply(null, arguments);
7107
+ return (_wasm_set_cookies = Module["_wasm_set_cookies"] = Module["asm"]["Lb"]).apply(null, arguments);
7011
7108
  };
7012
7109
 
7013
7110
  var _wasm_set_php_code = Module["_wasm_set_php_code"] = function() {
7014
- return (_wasm_set_php_code = Module["_wasm_set_php_code"] = Module["asm"]["Jb"]).apply(null, arguments);
7111
+ return (_wasm_set_php_code = Module["_wasm_set_php_code"] = Module["asm"]["Mb"]).apply(null, arguments);
7015
7112
  };
7016
7113
 
7017
7114
  var _wasm_set_request_port = Module["_wasm_set_request_port"] = function() {
7018
- return (_wasm_set_request_port = Module["_wasm_set_request_port"] = Module["asm"]["Kb"]).apply(null, arguments);
7115
+ return (_wasm_set_request_port = Module["_wasm_set_request_port"] = Module["asm"]["Nb"]).apply(null, arguments);
7019
7116
  };
7020
7117
 
7021
7118
  var _phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = function() {
7022
- return (_phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = Module["asm"]["Lb"]).apply(null, arguments);
7119
+ return (_phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = Module["asm"]["Ob"]).apply(null, arguments);
7023
7120
  };
7024
7121
 
7025
7122
  var _phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = function() {
7026
- return (_phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = Module["asm"]["Mb"]).apply(null, arguments);
7123
+ return (_phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = Module["asm"]["Pb"]).apply(null, arguments);
7027
7124
  };
7028
7125
 
7029
7126
  var _phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = function() {
7030
- return (_phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = Module["asm"]["Nb"]).apply(null, arguments);
7127
+ return (_phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = Module["asm"]["Qb"]).apply(null, arguments);
7031
7128
  };
7032
7129
 
7033
7130
  var _wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = function() {
7034
- return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["Ob"]).apply(null, arguments);
7131
+ return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["Rb"]).apply(null, arguments);
7035
7132
  };
7036
7133
 
7037
7134
  var _php_wasm_init = Module["_php_wasm_init"] = function() {
7038
- return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["Pb"]).apply(null, arguments);
7135
+ return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["Sb"]).apply(null, arguments);
7039
7136
  };
7040
7137
 
7041
7138
  var ___funcs_on_exit = function() {
7042
- return (___funcs_on_exit = Module["asm"]["Qb"]).apply(null, arguments);
7139
+ return (___funcs_on_exit = Module["asm"]["Tb"]).apply(null, arguments);
7043
7140
  };
7044
7141
 
7045
7142
  var _emscripten_builtin_memalign = function() {
7046
- return (_emscripten_builtin_memalign = Module["asm"]["Rb"]).apply(null, arguments);
7143
+ return (_emscripten_builtin_memalign = Module["asm"]["Ub"]).apply(null, arguments);
7047
7144
  };
7048
7145
 
7049
7146
  var __emscripten_timeout = function() {
7050
- return (__emscripten_timeout = Module["asm"]["Sb"]).apply(null, arguments);
7147
+ return (__emscripten_timeout = Module["asm"]["Vb"]).apply(null, arguments);
7051
7148
  };
7052
7149
 
7053
7150
  var _setThrew = function() {
7054
- return (_setThrew = Module["asm"]["Tb"]).apply(null, arguments);
7151
+ return (_setThrew = Module["asm"]["Wb"]).apply(null, arguments);
7055
7152
  };
7056
7153
 
7057
7154
  var _emscripten_stack_set_limits = function() {
@@ -7067,107 +7164,107 @@ var _emscripten_stack_get_end = function() {
7067
7164
  };
7068
7165
 
7069
7166
  var stackSave = function() {
7070
- return (stackSave = Module["asm"]["Ub"]).apply(null, arguments);
7167
+ return (stackSave = Module["asm"]["Xb"]).apply(null, arguments);
7071
7168
  };
7072
7169
 
7073
7170
  var stackRestore = function() {
7074
- return (stackRestore = Module["asm"]["Vb"]).apply(null, arguments);
7171
+ return (stackRestore = Module["asm"]["Yb"]).apply(null, arguments);
7075
7172
  };
7076
7173
 
7077
7174
  var stackAlloc = function() {
7078
- return (stackAlloc = Module["asm"]["Wb"]).apply(null, arguments);
7175
+ return (stackAlloc = Module["asm"]["Zb"]).apply(null, arguments);
7079
7176
  };
7080
7177
 
7081
7178
  var dynCall_iiii = Module["dynCall_iiii"] = function() {
7082
- return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["Xb"]).apply(null, arguments);
7179
+ return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["_b"]).apply(null, arguments);
7083
7180
  };
7084
7181
 
7085
7182
  var dynCall_ii = Module["dynCall_ii"] = function() {
7086
- return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["Yb"]).apply(null, arguments);
7183
+ return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["$b"]).apply(null, arguments);
7087
7184
  };
7088
7185
 
7089
7186
  var dynCall_vi = Module["dynCall_vi"] = function() {
7090
- return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["Zb"]).apply(null, arguments);
7187
+ return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["ac"]).apply(null, arguments);
7091
7188
  };
7092
7189
 
7093
7190
  var dynCall_vii = Module["dynCall_vii"] = function() {
7094
- return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["_b"]).apply(null, arguments);
7191
+ return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["bc"]).apply(null, arguments);
7095
7192
  };
7096
7193
 
7097
7194
  var dynCall_viiiii = Module["dynCall_viiiii"] = function() {
7098
- return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["$b"]).apply(null, arguments);
7195
+ return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["cc"]).apply(null, arguments);
7099
7196
  };
7100
7197
 
7101
7198
  var dynCall_iii = Module["dynCall_iii"] = function() {
7102
- return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["ac"]).apply(null, arguments);
7199
+ return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["dc"]).apply(null, arguments);
7103
7200
  };
7104
7201
 
7105
7202
  var dynCall_iiiii = Module["dynCall_iiiii"] = function() {
7106
- return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["bc"]).apply(null, arguments);
7203
+ return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["ec"]).apply(null, arguments);
7107
7204
  };
7108
7205
 
7109
7206
  var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() {
7110
- return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["cc"]).apply(null, arguments);
7207
+ return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["fc"]).apply(null, arguments);
7111
7208
  };
7112
7209
 
7113
7210
  var dynCall_viii = Module["dynCall_viii"] = function() {
7114
- return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["dc"]).apply(null, arguments);
7211
+ return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["gc"]).apply(null, arguments);
7115
7212
  };
7116
7213
 
7117
7214
  var dynCall_v = Module["dynCall_v"] = function() {
7118
- return (dynCall_v = Module["dynCall_v"] = Module["asm"]["ec"]).apply(null, arguments);
7215
+ return (dynCall_v = Module["dynCall_v"] = Module["asm"]["hc"]).apply(null, arguments);
7119
7216
  };
7120
7217
 
7121
7218
  var dynCall_i = Module["dynCall_i"] = function() {
7122
- return (dynCall_i = Module["dynCall_i"] = Module["asm"]["fc"]).apply(null, arguments);
7219
+ return (dynCall_i = Module["dynCall_i"] = Module["asm"]["ic"]).apply(null, arguments);
7123
7220
  };
7124
7221
 
7125
7222
  var dynCall_viiii = Module["dynCall_viiii"] = function() {
7126
- return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["gc"]).apply(null, arguments);
7223
+ return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["jc"]).apply(null, arguments);
7127
7224
  };
7128
7225
 
7129
7226
  var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() {
7130
- return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["hc"]).apply(null, arguments);
7227
+ return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["kc"]).apply(null, arguments);
7131
7228
  };
7132
7229
 
7133
7230
  var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = function() {
7134
- return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["ic"]).apply(null, arguments);
7231
+ return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["lc"]).apply(null, arguments);
7135
7232
  };
7136
7233
 
7137
7234
  var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = function() {
7138
- return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["jc"]).apply(null, arguments);
7235
+ return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["mc"]).apply(null, arguments);
7139
7236
  };
7140
7237
 
7141
7238
  var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() {
7142
- return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["kc"]).apply(null, arguments);
7239
+ return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["nc"]).apply(null, arguments);
7143
7240
  };
7144
7241
 
7145
7242
  var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() {
7146
- return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["lc"]).apply(null, arguments);
7243
+ return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["oc"]).apply(null, arguments);
7147
7244
  };
7148
7245
 
7149
7246
  var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() {
7150
- return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["mc"]).apply(null, arguments);
7247
+ return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["pc"]).apply(null, arguments);
7151
7248
  };
7152
7249
 
7153
7250
  var dynCall_viidii = Module["dynCall_viidii"] = function() {
7154
- return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["nc"]).apply(null, arguments);
7251
+ return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["qc"]).apply(null, arguments);
7155
7252
  };
7156
7253
 
7157
7254
  var _asyncify_start_unwind = function() {
7158
- return (_asyncify_start_unwind = Module["asm"]["oc"]).apply(null, arguments);
7255
+ return (_asyncify_start_unwind = Module["asm"]["rc"]).apply(null, arguments);
7159
7256
  };
7160
7257
 
7161
7258
  var _asyncify_stop_unwind = function() {
7162
- return (_asyncify_stop_unwind = Module["asm"]["pc"]).apply(null, arguments);
7259
+ return (_asyncify_stop_unwind = Module["asm"]["sc"]).apply(null, arguments);
7163
7260
  };
7164
7261
 
7165
7262
  var _asyncify_start_rewind = function() {
7166
- return (_asyncify_start_rewind = Module["asm"]["qc"]).apply(null, arguments);
7263
+ return (_asyncify_start_rewind = Module["asm"]["tc"]).apply(null, arguments);
7167
7264
  };
7168
7265
 
7169
7266
  var _asyncify_stop_rewind = function() {
7170
- return (_asyncify_stop_rewind = Module["asm"]["rc"]).apply(null, arguments);
7267
+ return (_asyncify_stop_rewind = Module["asm"]["uc"]).apply(null, arguments);
7171
7268
  };
7172
7269
 
7173
7270
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
@@ -7395,14 +7492,8 @@ Module["FS_unlink"] = FS.unlink;
7395
7492
 
7396
7493
  Module["ccall"] = ccall;
7397
7494
 
7398
- Module["UTF8ToString"] = UTF8ToString;
7399
-
7400
- Module["lengthBytesUTF8"] = lengthBytesUTF8;
7401
-
7402
7495
  Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
7403
7496
 
7404
- Module["FS"] = FS;
7405
-
7406
7497
  var calledRun;
7407
7498
 
7408
7499
  dependenciesFulfilled = function runCaller() {
@@ -7486,6 +7577,9 @@ PHPLoader['removeRunDependency'] = function (...args) {
7486
7577
  }
7487
7578
  }
7488
7579
 
7580
+ PHPLoader['malloc'] = _malloc;
7581
+ PHPLoader['free'] = _free;
7582
+
7489
7583
  return PHPLoader;
7490
7584
 
7491
7585
  // Close the opening bracket from esm-prefix.js: