@yowasp/yosys 0.0.0-experimental1

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.
@@ -0,0 +1,4554 @@
1
+ // node_modules/@yowasp/runtime/lib/wasi-virt.js
2
+ var Exit = class extends Error {
3
+ constructor(code = 0) {
4
+ super(`Exited with status ${code}`);
5
+ this.code = code;
6
+ }
7
+ };
8
+ function monotonicNow() {
9
+ return BigInt(Math.floor(performance.now() * 1e6));
10
+ }
11
+ function wallClockNow() {
12
+ let now = Date.now();
13
+ const seconds = BigInt(Math.floor(now / 1e3));
14
+ const nanoseconds = now % 1e3 * 1e6;
15
+ return { seconds, nanoseconds };
16
+ }
17
+ var IoError = class extends Error {
18
+ };
19
+ var InputStream = class {
20
+ read(_len) {
21
+ throw { tag: "closed" };
22
+ }
23
+ blockingRead(len) {
24
+ return this.read(len);
25
+ }
26
+ };
27
+ var OutputStream = class {
28
+ checkWrite() {
29
+ throw { tag: "closed" };
30
+ }
31
+ write(_contents) {
32
+ this.checkWrite();
33
+ }
34
+ flush() {
35
+ }
36
+ blockingFlush() {
37
+ this.flush();
38
+ }
39
+ blockingWriteAndFlush(contents) {
40
+ this.write(contents);
41
+ this.blockingFlush();
42
+ }
43
+ };
44
+ var TerminalInput = class {
45
+ };
46
+ var TerminalOutput = class {
47
+ };
48
+ var TerminalOutputStream = class extends OutputStream {
49
+ buffer = "";
50
+ constructor(printLine = console.log) {
51
+ super();
52
+ this.printLine = printLine;
53
+ }
54
+ checkWrite() {
55
+ return 4096;
56
+ }
57
+ write(contents) {
58
+ this.buffer += new TextDecoder().decode(contents);
59
+ let newlineAt = -1;
60
+ while (true) {
61
+ const nextNewlineAt = this.buffer.indexOf("\n", newlineAt + 1);
62
+ if (nextNewlineAt === -1) {
63
+ break;
64
+ }
65
+ this.printLine(this.buffer.substring(0, nextNewlineAt));
66
+ newlineAt = nextNewlineAt;
67
+ }
68
+ this.buffer = this.buffer.substring(newlineAt + 1);
69
+ }
70
+ };
71
+ var File = class {
72
+ constructor(data = "") {
73
+ if (data instanceof Uint8Array) {
74
+ this.data = data;
75
+ } else if (typeof data === "string") {
76
+ this.data = new TextEncoder().encode(data);
77
+ } else {
78
+ throw new Error(`Cannot construct a file from ${typeof data}`);
79
+ }
80
+ }
81
+ get size() {
82
+ return this.data.length;
83
+ }
84
+ };
85
+ var ReadStream = class extends InputStream {
86
+ constructor(file, offset) {
87
+ super();
88
+ this.file = file;
89
+ this.offset = offset;
90
+ }
91
+ read(len) {
92
+ const data = this.file.data.subarray(Number(this.offset), Number(this.offset + len));
93
+ this.offset += len;
94
+ return data;
95
+ }
96
+ };
97
+ var WriteStream = class extends OutputStream {
98
+ constructor(file, offset) {
99
+ super();
100
+ this.file = file;
101
+ this.offset = offset;
102
+ }
103
+ write(contents) {
104
+ const newData = new Uint8Array(this.file.data.length + contents.length);
105
+ newData.set(this.file.data);
106
+ newData.subarray(Number(this.offset)).set(contents);
107
+ this.file.data = newData;
108
+ this.offset += BigInt(contents.length);
109
+ }
110
+ };
111
+ var Directory = class _Directory {
112
+ constructor(files = {}) {
113
+ this.files = files;
114
+ }
115
+ get size() {
116
+ return Object.keys(this.files).length;
117
+ }
118
+ traverse(path, flags = { create: false, remove: false }) {
119
+ let entry = this;
120
+ let separatorAt = -1;
121
+ do {
122
+ if (entry instanceof File)
123
+ throw "not-directory";
124
+ const files = entry.files;
125
+ separatorAt = path.indexOf("/");
126
+ const segment = separatorAt === -1 ? path : path.substring(0, separatorAt);
127
+ if (separatorAt === -1 && flags.remove)
128
+ delete files[segment];
129
+ else if (segment === "" || segment === ".")
130
+ ;
131
+ else if (segment === "..")
132
+ ;
133
+ else if (Object.hasOwn(files, segment))
134
+ entry = files[segment];
135
+ else if (flags.create === "directory" || flags.create === "file" && separatorAt !== -1)
136
+ entry = files[segment] = new _Directory({});
137
+ else if (flags.create === "file")
138
+ entry = files[segment] = new File(new Uint8Array());
139
+ else
140
+ throw "no-entry";
141
+ path = path.substring(separatorAt + 1);
142
+ } while (separatorAt !== -1);
143
+ return entry;
144
+ }
145
+ };
146
+ var Descriptor = class _Descriptor {
147
+ constructor(entry) {
148
+ this.entry = entry;
149
+ }
150
+ getType() {
151
+ if (this.entry instanceof Directory)
152
+ return "directory";
153
+ if (this.entry instanceof File)
154
+ return "regular-file";
155
+ }
156
+ getFlags() {
157
+ return {};
158
+ }
159
+ metadataHash() {
160
+ return { upper: 0, lower: 0 };
161
+ }
162
+ metadataHashAt(_pathFlags, path) {
163
+ if (!(this.entry instanceof Directory))
164
+ throw "invalid";
165
+ const pathEntry = this.entry.traverse(path);
166
+ return new _Descriptor(pathEntry).metadataHash();
167
+ }
168
+ stat() {
169
+ let type;
170
+ if (this.entry instanceof Directory)
171
+ type = "directory";
172
+ if (this.entry instanceof File)
173
+ type = "regular-file";
174
+ return {
175
+ type,
176
+ linkCount: 1,
177
+ size: this.entry.size,
178
+ dataAccessTimestamp: null,
179
+ dataModificationTimestamp: null,
180
+ statusChangeTimestamp: null
181
+ };
182
+ }
183
+ statAt(_pathFlags, path) {
184
+ if (!(this.entry instanceof Directory))
185
+ throw "invalid";
186
+ const pathEntry = this.entry.traverse(path);
187
+ return new _Descriptor(pathEntry).stat();
188
+ }
189
+ openAt(_pathFlags, path, openFlags, _descriptorFlags) {
190
+ if (!(this.entry instanceof Directory))
191
+ throw "invalid";
192
+ const openEntry = this.entry.traverse(path, { create: openFlags.create ? "file" : false });
193
+ if (openFlags.directory) {
194
+ if (!(openEntry instanceof Directory))
195
+ throw "not-directory";
196
+ } else {
197
+ if (openEntry instanceof Directory)
198
+ throw "is-directory";
199
+ if (openFlags.truncate)
200
+ openEntry.data = new Uint8Array();
201
+ }
202
+ return new _Descriptor(openEntry);
203
+ }
204
+ readViaStream(offset) {
205
+ return new ReadStream(this.entry, offset);
206
+ }
207
+ writeViaStream(offset) {
208
+ return new WriteStream(this.entry, offset);
209
+ }
210
+ readDirectory() {
211
+ return new DirectoryEntryStream(this.entry);
212
+ }
213
+ createDirectoryAt(path) {
214
+ this.entry.traverse(path, { create: "directory" });
215
+ }
216
+ unlinkFileAt(path) {
217
+ const pathEntry = this.entry.traverse(path);
218
+ if (pathEntry instanceof Directory)
219
+ return "is-directory";
220
+ this.entry.traverse(path, { remove: true });
221
+ }
222
+ removeDirectoryAt(path) {
223
+ const pathEntry = this.entry.traverse(path);
224
+ if (!(pathEntry instanceof Directory))
225
+ return "not-directory";
226
+ this.entry.traverse(path, { remove: true });
227
+ }
228
+ };
229
+ var DirectoryEntryStream = class {
230
+ constructor(directory) {
231
+ this.entries = Object.entries(directory.files);
232
+ this.index = 0;
233
+ }
234
+ readDirectoryEntry() {
235
+ if (this.index === this.entries.length)
236
+ return null;
237
+ const [name, entry] = this.entries[this.index++];
238
+ let type;
239
+ if (entry instanceof Directory)
240
+ type = "directory";
241
+ if (entry instanceof File)
242
+ type = "regular-file";
243
+ return { name, type };
244
+ }
245
+ };
246
+ function directoryFromTree(tree) {
247
+ const files = {};
248
+ for (const [filename, data] of Object.entries(tree)) {
249
+ if (typeof data === "string" || data instanceof Uint8Array)
250
+ files[filename] = new File(tree[filename]);
251
+ else
252
+ files[filename] = directoryFromTree(tree[filename]);
253
+ }
254
+ return new Directory(files);
255
+ }
256
+ function directoryIntoTree(directory) {
257
+ const tree = {};
258
+ for (const [filename, entry] of Object.entries(directory.files)) {
259
+ if (entry instanceof File)
260
+ tree[filename] = new TextDecoder().decode(entry.data);
261
+ if (entry instanceof Directory)
262
+ tree[filename] = directoryIntoTree(entry);
263
+ }
264
+ return tree;
265
+ }
266
+ var Environment = class {
267
+ vars = {};
268
+ args = [];
269
+ root = new Directory({});
270
+ constructor() {
271
+ this.terminalInputStream = new InputStream();
272
+ this.terminalOutputStream = new TerminalOutputStream();
273
+ this.terminalInput = new TerminalInput();
274
+ this.terminalOutput = new TerminalOutput();
275
+ const $this = this;
276
+ this.exports = {
277
+ monotonicClock: {
278
+ now: monotonicNow
279
+ },
280
+ wallClock: {
281
+ now: wallClockNow
282
+ },
283
+ io: {
284
+ Error: IoError,
285
+ InputStream,
286
+ OutputStream
287
+ },
288
+ cli: {
289
+ exit(status) {
290
+ throw new Exit(status.tag === "ok" ? 0 : 1);
291
+ },
292
+ getEnvironment() {
293
+ return $this.vars;
294
+ },
295
+ getArguments() {
296
+ return $this.args;
297
+ },
298
+ getStdin() {
299
+ return $this.terminalInputStream;
300
+ },
301
+ getStdout() {
302
+ return $this.terminalOutputStream;
303
+ },
304
+ getStderr() {
305
+ return $this.terminalOutputStream;
306
+ },
307
+ getTerminalStdin() {
308
+ return $this.terminalInput;
309
+ },
310
+ getTerminalStdout() {
311
+ return $this.terminalOutput;
312
+ },
313
+ getTerminalStderr() {
314
+ return $this.terminalOutput;
315
+ },
316
+ TerminalInput,
317
+ TerminalOutput
318
+ },
319
+ fs: {
320
+ Descriptor,
321
+ DirectoryEntryStream,
322
+ filesystemErrorCode() {
323
+ },
324
+ getDirectories() {
325
+ if ($this.root === null)
326
+ return [];
327
+ return [[new Descriptor($this.root), "/"]];
328
+ }
329
+ }
330
+ };
331
+ }
332
+ get printLine() {
333
+ return this.terminalOutputStream.printLine;
334
+ }
335
+ set printLine(fn) {
336
+ this.terminalOutputStream.printLine = fn;
337
+ }
338
+ };
339
+
340
+ // node_modules/@yowasp/runtime/lib/api-base.js
341
+ var BaseApplication = class {
342
+ constructor(getResources, wasmModules, instantiate2, argv0) {
343
+ this._resources = null;
344
+ this.getResources = getResources;
345
+ this.wasmModules = wasmModules;
346
+ this.instantiate = instantiate2;
347
+ this.argv0 = argv0;
348
+ }
349
+ async run(args, files = {}, printLine = console.log) {
350
+ if (this._resources === null)
351
+ this._resources = await this.getResources();
352
+ const environment = new Environment();
353
+ environment.args = [this.argv0].concat(args);
354
+ environment.root = directoryFromTree(files);
355
+ for (const [dirName, resourceFiles] of Object.entries(this._resources))
356
+ environment.root.files[dirName] = directoryFromTree(resourceFiles);
357
+ environment.printLine = printLine;
358
+ const wasmCommand = await this.instantiate(
359
+ (filename) => this.wasmModules[filename],
360
+ { runtime: environment.exports }
361
+ );
362
+ try {
363
+ wasmCommand.run.run();
364
+ } catch (e) {
365
+ if (!(e instanceof Exit && e.code === 0))
366
+ throw e;
367
+ }
368
+ for (const dirName of Object.keys(this._resources))
369
+ delete environment.root[dirName];
370
+ return directoryIntoTree(environment.root);
371
+ }
372
+ };
373
+
374
+ // node_modules/@yowasp/runtime/lib/api-browser.js
375
+ var Application = class extends BaseApplication {
376
+ constructor(baseURL2, resourceFilenames, wasmFilenames, instantiate2, argv0) {
377
+ async function getResources() {
378
+ const resources = {};
379
+ for (const [dirName, jsonFilename] of Object.entries(resourceFilenames))
380
+ resources[dirName] = await fetch(new URL(jsonFilename, baseURL2)).then((resp) => resp.json());
381
+ return resources;
382
+ }
383
+ const wasmModules = {};
384
+ for (const [modName, wasmFilename] of Object.entries(wasmFilenames))
385
+ wasmModules[modName] = fetch(new URL(wasmFilename, baseURL2)).then(WebAssembly.compileStreaming);
386
+ super(getResources, wasmModules, instantiate2, argv0);
387
+ }
388
+ };
389
+
390
+ // gen/yosys.js
391
+ var ComponentError = class extends Error {
392
+ constructor(value) {
393
+ const enumerable = typeof value !== "string";
394
+ super(enumerable ? `${String(value)} (see error.payload)` : value);
395
+ Object.defineProperty(this, "payload", { value, enumerable });
396
+ }
397
+ };
398
+ var dv = new DataView(new ArrayBuffer());
399
+ var dataView = (mem) => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
400
+ function getErrorPayload(e) {
401
+ if (e && hasOwnProperty.call(e, "payload"))
402
+ return e.payload;
403
+ return e;
404
+ }
405
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
406
+ var resourceHandleSymbol = Symbol("resource");
407
+ var symbolDispose = Symbol.dispose || Symbol.for("dispose");
408
+ var toUint64 = (val) => BigInt.asUintN(64, BigInt(val));
409
+ function toUint32(val) {
410
+ return val >>> 0;
411
+ }
412
+ var utf8Decoder = new TextDecoder();
413
+ var utf8Encoder = new TextEncoder();
414
+ var utf8EncodedLen = 0;
415
+ function utf8Encode(s, realloc, memory) {
416
+ if (typeof s !== "string")
417
+ throw new TypeError("expected a string");
418
+ if (s.length === 0) {
419
+ utf8EncodedLen = 0;
420
+ return 1;
421
+ }
422
+ let allocLen = 0;
423
+ let ptr = 0;
424
+ let writtenTotal = 0;
425
+ while (s.length > 0) {
426
+ ptr = realloc(ptr, allocLen, 1, allocLen += s.length * 2);
427
+ const { read, written } = utf8Encoder.encodeInto(
428
+ s,
429
+ new Uint8Array(memory.buffer, ptr + writtenTotal, allocLen - writtenTotal)
430
+ );
431
+ writtenTotal += written;
432
+ s = s.slice(read);
433
+ }
434
+ utf8EncodedLen = writtenTotal;
435
+ return ptr;
436
+ }
437
+ async function instantiate(getCoreModule, imports, instantiateCore = WebAssembly.instantiate) {
438
+ const module0 = getCoreModule("yosys.core.wasm");
439
+ const module1 = getCoreModule("yosys.core2.wasm");
440
+ const module2 = getCoreModule("yosys.core3.wasm");
441
+ const module3 = getCoreModule("yosys.core4.wasm");
442
+ const { cli, fs, io, monotonicClock, wallClock } = imports.runtime;
443
+ const {
444
+ TerminalInput: TerminalInput2,
445
+ TerminalOutput: TerminalOutput2,
446
+ exit,
447
+ getArguments,
448
+ getEnvironment,
449
+ getStderr,
450
+ getStdin,
451
+ getStdout,
452
+ getTerminalStderr,
453
+ getTerminalStdin,
454
+ getTerminalStdout
455
+ } = cli;
456
+ const {
457
+ Descriptor: Descriptor2,
458
+ DirectoryEntryStream: DirectoryEntryStream2,
459
+ filesystemErrorCode,
460
+ getDirectories
461
+ } = fs;
462
+ const {
463
+ Error: Error$1,
464
+ InputStream: InputStream2,
465
+ OutputStream: OutputStream2
466
+ } = io;
467
+ const { now } = monotonicClock;
468
+ const { now: now$1 } = wallClock;
469
+ let exports0;
470
+ let exports1;
471
+ function trampoline0() {
472
+ const ret = now();
473
+ return toUint64(ret);
474
+ }
475
+ function trampoline9() {
476
+ const ret = getStderr();
477
+ if (!(ret instanceof OutputStream2)) {
478
+ throw new Error('Resource error: Not a valid "OutputStream" resource.');
479
+ }
480
+ var handle0 = handleCnt2++;
481
+ handleTable2.set(handle0, { rep: ret, own: true });
482
+ return handle0;
483
+ }
484
+ function trampoline10(arg0) {
485
+ let variant0;
486
+ switch (arg0) {
487
+ case 0: {
488
+ variant0 = {
489
+ tag: "ok",
490
+ val: void 0
491
+ };
492
+ break;
493
+ }
494
+ case 1: {
495
+ variant0 = {
496
+ tag: "err",
497
+ val: void 0
498
+ };
499
+ break;
500
+ }
501
+ default: {
502
+ throw new TypeError("invalid variant discriminant for expected");
503
+ }
504
+ }
505
+ exit(variant0);
506
+ }
507
+ function trampoline11() {
508
+ const ret = getStdin();
509
+ if (!(ret instanceof InputStream2)) {
510
+ throw new Error('Resource error: Not a valid "InputStream" resource.');
511
+ }
512
+ var handle0 = handleCnt1++;
513
+ handleTable1.set(handle0, { rep: ret, own: true });
514
+ return handle0;
515
+ }
516
+ function trampoline12() {
517
+ const ret = getStdout();
518
+ if (!(ret instanceof OutputStream2)) {
519
+ throw new Error('Resource error: Not a valid "OutputStream" resource.');
520
+ }
521
+ var handle0 = handleCnt2++;
522
+ handleTable2.set(handle0, { rep: ret, own: true });
523
+ return handle0;
524
+ }
525
+ let exports2;
526
+ function trampoline13(arg0) {
527
+ const ret = getDirectories();
528
+ var vec3 = ret;
529
+ var len3 = vec3.length;
530
+ var result3 = realloc0(0, 0, 4, len3 * 12);
531
+ for (let i = 0; i < vec3.length; i++) {
532
+ const e = vec3[i];
533
+ const base = result3 + i * 12;
534
+ var [tuple0_0, tuple0_1] = e;
535
+ if (!(tuple0_0 instanceof Descriptor2)) {
536
+ throw new Error('Resource error: Not a valid "Descriptor" resource.');
537
+ }
538
+ var handle1 = handleCnt3++;
539
+ handleTable3.set(handle1, { rep: tuple0_0, own: true });
540
+ dataView(memory0).setInt32(base + 0, handle1, true);
541
+ var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
542
+ var len2 = utf8EncodedLen;
543
+ dataView(memory0).setInt32(base + 8, len2, true);
544
+ dataView(memory0).setInt32(base + 4, ptr2, true);
545
+ }
546
+ dataView(memory0).setInt32(arg0 + 4, len3, true);
547
+ dataView(memory0).setInt32(arg0 + 0, result3, true);
548
+ }
549
+ let memory0;
550
+ let realloc0;
551
+ function trampoline14(arg0) {
552
+ const ret = now$1();
553
+ var { seconds: v0_0, nanoseconds: v0_1 } = ret;
554
+ dataView(memory0).setBigInt64(arg0 + 0, toUint64(v0_0), true);
555
+ dataView(memory0).setInt32(arg0 + 8, toUint32(v0_1), true);
556
+ }
557
+ function trampoline15(arg0, arg1, arg2) {
558
+ var handle1 = arg0;
559
+ var rsc0 = handleTable3.get(handle1).rep;
560
+ let ret;
561
+ try {
562
+ ret = { tag: "ok", val: Descriptor2.prototype.readViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
563
+ } catch (e) {
564
+ ret = { tag: "err", val: getErrorPayload(e) };
565
+ }
566
+ var variant4 = ret;
567
+ switch (variant4.tag) {
568
+ case "ok": {
569
+ const e = variant4.val;
570
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
571
+ if (!(e instanceof InputStream2)) {
572
+ throw new Error('Resource error: Not a valid "InputStream" resource.');
573
+ }
574
+ var handle2 = handleCnt1++;
575
+ handleTable1.set(handle2, { rep: e, own: true });
576
+ dataView(memory0).setInt32(arg2 + 4, handle2, true);
577
+ break;
578
+ }
579
+ case "err": {
580
+ const e = variant4.val;
581
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
582
+ var val3 = e;
583
+ let enum3;
584
+ switch (val3) {
585
+ case "access": {
586
+ enum3 = 0;
587
+ break;
588
+ }
589
+ case "would-block": {
590
+ enum3 = 1;
591
+ break;
592
+ }
593
+ case "already": {
594
+ enum3 = 2;
595
+ break;
596
+ }
597
+ case "bad-descriptor": {
598
+ enum3 = 3;
599
+ break;
600
+ }
601
+ case "busy": {
602
+ enum3 = 4;
603
+ break;
604
+ }
605
+ case "deadlock": {
606
+ enum3 = 5;
607
+ break;
608
+ }
609
+ case "quota": {
610
+ enum3 = 6;
611
+ break;
612
+ }
613
+ case "exist": {
614
+ enum3 = 7;
615
+ break;
616
+ }
617
+ case "file-too-large": {
618
+ enum3 = 8;
619
+ break;
620
+ }
621
+ case "illegal-byte-sequence": {
622
+ enum3 = 9;
623
+ break;
624
+ }
625
+ case "in-progress": {
626
+ enum3 = 10;
627
+ break;
628
+ }
629
+ case "interrupted": {
630
+ enum3 = 11;
631
+ break;
632
+ }
633
+ case "invalid": {
634
+ enum3 = 12;
635
+ break;
636
+ }
637
+ case "io": {
638
+ enum3 = 13;
639
+ break;
640
+ }
641
+ case "is-directory": {
642
+ enum3 = 14;
643
+ break;
644
+ }
645
+ case "loop": {
646
+ enum3 = 15;
647
+ break;
648
+ }
649
+ case "too-many-links": {
650
+ enum3 = 16;
651
+ break;
652
+ }
653
+ case "message-size": {
654
+ enum3 = 17;
655
+ break;
656
+ }
657
+ case "name-too-long": {
658
+ enum3 = 18;
659
+ break;
660
+ }
661
+ case "no-device": {
662
+ enum3 = 19;
663
+ break;
664
+ }
665
+ case "no-entry": {
666
+ enum3 = 20;
667
+ break;
668
+ }
669
+ case "no-lock": {
670
+ enum3 = 21;
671
+ break;
672
+ }
673
+ case "insufficient-memory": {
674
+ enum3 = 22;
675
+ break;
676
+ }
677
+ case "insufficient-space": {
678
+ enum3 = 23;
679
+ break;
680
+ }
681
+ case "not-directory": {
682
+ enum3 = 24;
683
+ break;
684
+ }
685
+ case "not-empty": {
686
+ enum3 = 25;
687
+ break;
688
+ }
689
+ case "not-recoverable": {
690
+ enum3 = 26;
691
+ break;
692
+ }
693
+ case "unsupported": {
694
+ enum3 = 27;
695
+ break;
696
+ }
697
+ case "no-tty": {
698
+ enum3 = 28;
699
+ break;
700
+ }
701
+ case "no-such-device": {
702
+ enum3 = 29;
703
+ break;
704
+ }
705
+ case "overflow": {
706
+ enum3 = 30;
707
+ break;
708
+ }
709
+ case "not-permitted": {
710
+ enum3 = 31;
711
+ break;
712
+ }
713
+ case "pipe": {
714
+ enum3 = 32;
715
+ break;
716
+ }
717
+ case "read-only": {
718
+ enum3 = 33;
719
+ break;
720
+ }
721
+ case "invalid-seek": {
722
+ enum3 = 34;
723
+ break;
724
+ }
725
+ case "text-file-busy": {
726
+ enum3 = 35;
727
+ break;
728
+ }
729
+ case "cross-device": {
730
+ enum3 = 36;
731
+ break;
732
+ }
733
+ default: {
734
+ if (e instanceof Error) {
735
+ console.error(e);
736
+ }
737
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
738
+ }
739
+ }
740
+ dataView(memory0).setInt8(arg2 + 4, enum3, true);
741
+ break;
742
+ }
743
+ default: {
744
+ throw new TypeError("invalid variant specified for result");
745
+ }
746
+ }
747
+ }
748
+ function trampoline16(arg0, arg1, arg2) {
749
+ var handle1 = arg0;
750
+ var rsc0 = handleTable3.get(handle1).rep;
751
+ let ret;
752
+ try {
753
+ ret = { tag: "ok", val: Descriptor2.prototype.writeViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
754
+ } catch (e) {
755
+ ret = { tag: "err", val: getErrorPayload(e) };
756
+ }
757
+ var variant4 = ret;
758
+ switch (variant4.tag) {
759
+ case "ok": {
760
+ const e = variant4.val;
761
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
762
+ if (!(e instanceof OutputStream2)) {
763
+ throw new Error('Resource error: Not a valid "OutputStream" resource.');
764
+ }
765
+ var handle2 = handleCnt2++;
766
+ handleTable2.set(handle2, { rep: e, own: true });
767
+ dataView(memory0).setInt32(arg2 + 4, handle2, true);
768
+ break;
769
+ }
770
+ case "err": {
771
+ const e = variant4.val;
772
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
773
+ var val3 = e;
774
+ let enum3;
775
+ switch (val3) {
776
+ case "access": {
777
+ enum3 = 0;
778
+ break;
779
+ }
780
+ case "would-block": {
781
+ enum3 = 1;
782
+ break;
783
+ }
784
+ case "already": {
785
+ enum3 = 2;
786
+ break;
787
+ }
788
+ case "bad-descriptor": {
789
+ enum3 = 3;
790
+ break;
791
+ }
792
+ case "busy": {
793
+ enum3 = 4;
794
+ break;
795
+ }
796
+ case "deadlock": {
797
+ enum3 = 5;
798
+ break;
799
+ }
800
+ case "quota": {
801
+ enum3 = 6;
802
+ break;
803
+ }
804
+ case "exist": {
805
+ enum3 = 7;
806
+ break;
807
+ }
808
+ case "file-too-large": {
809
+ enum3 = 8;
810
+ break;
811
+ }
812
+ case "illegal-byte-sequence": {
813
+ enum3 = 9;
814
+ break;
815
+ }
816
+ case "in-progress": {
817
+ enum3 = 10;
818
+ break;
819
+ }
820
+ case "interrupted": {
821
+ enum3 = 11;
822
+ break;
823
+ }
824
+ case "invalid": {
825
+ enum3 = 12;
826
+ break;
827
+ }
828
+ case "io": {
829
+ enum3 = 13;
830
+ break;
831
+ }
832
+ case "is-directory": {
833
+ enum3 = 14;
834
+ break;
835
+ }
836
+ case "loop": {
837
+ enum3 = 15;
838
+ break;
839
+ }
840
+ case "too-many-links": {
841
+ enum3 = 16;
842
+ break;
843
+ }
844
+ case "message-size": {
845
+ enum3 = 17;
846
+ break;
847
+ }
848
+ case "name-too-long": {
849
+ enum3 = 18;
850
+ break;
851
+ }
852
+ case "no-device": {
853
+ enum3 = 19;
854
+ break;
855
+ }
856
+ case "no-entry": {
857
+ enum3 = 20;
858
+ break;
859
+ }
860
+ case "no-lock": {
861
+ enum3 = 21;
862
+ break;
863
+ }
864
+ case "insufficient-memory": {
865
+ enum3 = 22;
866
+ break;
867
+ }
868
+ case "insufficient-space": {
869
+ enum3 = 23;
870
+ break;
871
+ }
872
+ case "not-directory": {
873
+ enum3 = 24;
874
+ break;
875
+ }
876
+ case "not-empty": {
877
+ enum3 = 25;
878
+ break;
879
+ }
880
+ case "not-recoverable": {
881
+ enum3 = 26;
882
+ break;
883
+ }
884
+ case "unsupported": {
885
+ enum3 = 27;
886
+ break;
887
+ }
888
+ case "no-tty": {
889
+ enum3 = 28;
890
+ break;
891
+ }
892
+ case "no-such-device": {
893
+ enum3 = 29;
894
+ break;
895
+ }
896
+ case "overflow": {
897
+ enum3 = 30;
898
+ break;
899
+ }
900
+ case "not-permitted": {
901
+ enum3 = 31;
902
+ break;
903
+ }
904
+ case "pipe": {
905
+ enum3 = 32;
906
+ break;
907
+ }
908
+ case "read-only": {
909
+ enum3 = 33;
910
+ break;
911
+ }
912
+ case "invalid-seek": {
913
+ enum3 = 34;
914
+ break;
915
+ }
916
+ case "text-file-busy": {
917
+ enum3 = 35;
918
+ break;
919
+ }
920
+ case "cross-device": {
921
+ enum3 = 36;
922
+ break;
923
+ }
924
+ default: {
925
+ if (e instanceof Error) {
926
+ console.error(e);
927
+ }
928
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
929
+ }
930
+ }
931
+ dataView(memory0).setInt8(arg2 + 4, enum3, true);
932
+ break;
933
+ }
934
+ default: {
935
+ throw new TypeError("invalid variant specified for result");
936
+ }
937
+ }
938
+ }
939
+ function trampoline17(arg0, arg1) {
940
+ var handle1 = arg0;
941
+ var rsc0 = handleTable3.get(handle1).rep;
942
+ let ret;
943
+ try {
944
+ ret = { tag: "ok", val: Descriptor2.prototype.appendViaStream.call(rsc0) };
945
+ } catch (e) {
946
+ ret = { tag: "err", val: getErrorPayload(e) };
947
+ }
948
+ var variant4 = ret;
949
+ switch (variant4.tag) {
950
+ case "ok": {
951
+ const e = variant4.val;
952
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
953
+ if (!(e instanceof OutputStream2)) {
954
+ throw new Error('Resource error: Not a valid "OutputStream" resource.');
955
+ }
956
+ var handle2 = handleCnt2++;
957
+ handleTable2.set(handle2, { rep: e, own: true });
958
+ dataView(memory0).setInt32(arg1 + 4, handle2, true);
959
+ break;
960
+ }
961
+ case "err": {
962
+ const e = variant4.val;
963
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
964
+ var val3 = e;
965
+ let enum3;
966
+ switch (val3) {
967
+ case "access": {
968
+ enum3 = 0;
969
+ break;
970
+ }
971
+ case "would-block": {
972
+ enum3 = 1;
973
+ break;
974
+ }
975
+ case "already": {
976
+ enum3 = 2;
977
+ break;
978
+ }
979
+ case "bad-descriptor": {
980
+ enum3 = 3;
981
+ break;
982
+ }
983
+ case "busy": {
984
+ enum3 = 4;
985
+ break;
986
+ }
987
+ case "deadlock": {
988
+ enum3 = 5;
989
+ break;
990
+ }
991
+ case "quota": {
992
+ enum3 = 6;
993
+ break;
994
+ }
995
+ case "exist": {
996
+ enum3 = 7;
997
+ break;
998
+ }
999
+ case "file-too-large": {
1000
+ enum3 = 8;
1001
+ break;
1002
+ }
1003
+ case "illegal-byte-sequence": {
1004
+ enum3 = 9;
1005
+ break;
1006
+ }
1007
+ case "in-progress": {
1008
+ enum3 = 10;
1009
+ break;
1010
+ }
1011
+ case "interrupted": {
1012
+ enum3 = 11;
1013
+ break;
1014
+ }
1015
+ case "invalid": {
1016
+ enum3 = 12;
1017
+ break;
1018
+ }
1019
+ case "io": {
1020
+ enum3 = 13;
1021
+ break;
1022
+ }
1023
+ case "is-directory": {
1024
+ enum3 = 14;
1025
+ break;
1026
+ }
1027
+ case "loop": {
1028
+ enum3 = 15;
1029
+ break;
1030
+ }
1031
+ case "too-many-links": {
1032
+ enum3 = 16;
1033
+ break;
1034
+ }
1035
+ case "message-size": {
1036
+ enum3 = 17;
1037
+ break;
1038
+ }
1039
+ case "name-too-long": {
1040
+ enum3 = 18;
1041
+ break;
1042
+ }
1043
+ case "no-device": {
1044
+ enum3 = 19;
1045
+ break;
1046
+ }
1047
+ case "no-entry": {
1048
+ enum3 = 20;
1049
+ break;
1050
+ }
1051
+ case "no-lock": {
1052
+ enum3 = 21;
1053
+ break;
1054
+ }
1055
+ case "insufficient-memory": {
1056
+ enum3 = 22;
1057
+ break;
1058
+ }
1059
+ case "insufficient-space": {
1060
+ enum3 = 23;
1061
+ break;
1062
+ }
1063
+ case "not-directory": {
1064
+ enum3 = 24;
1065
+ break;
1066
+ }
1067
+ case "not-empty": {
1068
+ enum3 = 25;
1069
+ break;
1070
+ }
1071
+ case "not-recoverable": {
1072
+ enum3 = 26;
1073
+ break;
1074
+ }
1075
+ case "unsupported": {
1076
+ enum3 = 27;
1077
+ break;
1078
+ }
1079
+ case "no-tty": {
1080
+ enum3 = 28;
1081
+ break;
1082
+ }
1083
+ case "no-such-device": {
1084
+ enum3 = 29;
1085
+ break;
1086
+ }
1087
+ case "overflow": {
1088
+ enum3 = 30;
1089
+ break;
1090
+ }
1091
+ case "not-permitted": {
1092
+ enum3 = 31;
1093
+ break;
1094
+ }
1095
+ case "pipe": {
1096
+ enum3 = 32;
1097
+ break;
1098
+ }
1099
+ case "read-only": {
1100
+ enum3 = 33;
1101
+ break;
1102
+ }
1103
+ case "invalid-seek": {
1104
+ enum3 = 34;
1105
+ break;
1106
+ }
1107
+ case "text-file-busy": {
1108
+ enum3 = 35;
1109
+ break;
1110
+ }
1111
+ case "cross-device": {
1112
+ enum3 = 36;
1113
+ break;
1114
+ }
1115
+ default: {
1116
+ if (e instanceof Error) {
1117
+ console.error(e);
1118
+ }
1119
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1120
+ }
1121
+ }
1122
+ dataView(memory0).setInt8(arg1 + 4, enum3, true);
1123
+ break;
1124
+ }
1125
+ default: {
1126
+ throw new TypeError("invalid variant specified for result");
1127
+ }
1128
+ }
1129
+ }
1130
+ function trampoline18(arg0, arg1) {
1131
+ var handle1 = arg0;
1132
+ var rsc0 = handleTable3.get(handle1).rep;
1133
+ let ret;
1134
+ try {
1135
+ ret = { tag: "ok", val: Descriptor2.prototype.getFlags.call(rsc0) };
1136
+ } catch (e) {
1137
+ ret = { tag: "err", val: getErrorPayload(e) };
1138
+ }
1139
+ var variant4 = ret;
1140
+ switch (variant4.tag) {
1141
+ case "ok": {
1142
+ const e = variant4.val;
1143
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
1144
+ let flags2 = 0;
1145
+ if (typeof e === "object" && e !== null) {
1146
+ flags2 = Boolean(e.read) << 0 | Boolean(e.write) << 1 | Boolean(e.fileIntegritySync) << 2 | Boolean(e.dataIntegritySync) << 3 | Boolean(e.requestedWriteSync) << 4 | Boolean(e.mutateDirectory) << 5;
1147
+ } else if (e !== null && e !== void 0) {
1148
+ throw new TypeError("only an object, undefined or null can be converted to flags");
1149
+ }
1150
+ dataView(memory0).setInt8(arg1 + 1, flags2, true);
1151
+ break;
1152
+ }
1153
+ case "err": {
1154
+ const e = variant4.val;
1155
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
1156
+ var val3 = e;
1157
+ let enum3;
1158
+ switch (val3) {
1159
+ case "access": {
1160
+ enum3 = 0;
1161
+ break;
1162
+ }
1163
+ case "would-block": {
1164
+ enum3 = 1;
1165
+ break;
1166
+ }
1167
+ case "already": {
1168
+ enum3 = 2;
1169
+ break;
1170
+ }
1171
+ case "bad-descriptor": {
1172
+ enum3 = 3;
1173
+ break;
1174
+ }
1175
+ case "busy": {
1176
+ enum3 = 4;
1177
+ break;
1178
+ }
1179
+ case "deadlock": {
1180
+ enum3 = 5;
1181
+ break;
1182
+ }
1183
+ case "quota": {
1184
+ enum3 = 6;
1185
+ break;
1186
+ }
1187
+ case "exist": {
1188
+ enum3 = 7;
1189
+ break;
1190
+ }
1191
+ case "file-too-large": {
1192
+ enum3 = 8;
1193
+ break;
1194
+ }
1195
+ case "illegal-byte-sequence": {
1196
+ enum3 = 9;
1197
+ break;
1198
+ }
1199
+ case "in-progress": {
1200
+ enum3 = 10;
1201
+ break;
1202
+ }
1203
+ case "interrupted": {
1204
+ enum3 = 11;
1205
+ break;
1206
+ }
1207
+ case "invalid": {
1208
+ enum3 = 12;
1209
+ break;
1210
+ }
1211
+ case "io": {
1212
+ enum3 = 13;
1213
+ break;
1214
+ }
1215
+ case "is-directory": {
1216
+ enum3 = 14;
1217
+ break;
1218
+ }
1219
+ case "loop": {
1220
+ enum3 = 15;
1221
+ break;
1222
+ }
1223
+ case "too-many-links": {
1224
+ enum3 = 16;
1225
+ break;
1226
+ }
1227
+ case "message-size": {
1228
+ enum3 = 17;
1229
+ break;
1230
+ }
1231
+ case "name-too-long": {
1232
+ enum3 = 18;
1233
+ break;
1234
+ }
1235
+ case "no-device": {
1236
+ enum3 = 19;
1237
+ break;
1238
+ }
1239
+ case "no-entry": {
1240
+ enum3 = 20;
1241
+ break;
1242
+ }
1243
+ case "no-lock": {
1244
+ enum3 = 21;
1245
+ break;
1246
+ }
1247
+ case "insufficient-memory": {
1248
+ enum3 = 22;
1249
+ break;
1250
+ }
1251
+ case "insufficient-space": {
1252
+ enum3 = 23;
1253
+ break;
1254
+ }
1255
+ case "not-directory": {
1256
+ enum3 = 24;
1257
+ break;
1258
+ }
1259
+ case "not-empty": {
1260
+ enum3 = 25;
1261
+ break;
1262
+ }
1263
+ case "not-recoverable": {
1264
+ enum3 = 26;
1265
+ break;
1266
+ }
1267
+ case "unsupported": {
1268
+ enum3 = 27;
1269
+ break;
1270
+ }
1271
+ case "no-tty": {
1272
+ enum3 = 28;
1273
+ break;
1274
+ }
1275
+ case "no-such-device": {
1276
+ enum3 = 29;
1277
+ break;
1278
+ }
1279
+ case "overflow": {
1280
+ enum3 = 30;
1281
+ break;
1282
+ }
1283
+ case "not-permitted": {
1284
+ enum3 = 31;
1285
+ break;
1286
+ }
1287
+ case "pipe": {
1288
+ enum3 = 32;
1289
+ break;
1290
+ }
1291
+ case "read-only": {
1292
+ enum3 = 33;
1293
+ break;
1294
+ }
1295
+ case "invalid-seek": {
1296
+ enum3 = 34;
1297
+ break;
1298
+ }
1299
+ case "text-file-busy": {
1300
+ enum3 = 35;
1301
+ break;
1302
+ }
1303
+ case "cross-device": {
1304
+ enum3 = 36;
1305
+ break;
1306
+ }
1307
+ default: {
1308
+ if (e instanceof Error) {
1309
+ console.error(e);
1310
+ }
1311
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1312
+ }
1313
+ }
1314
+ dataView(memory0).setInt8(arg1 + 1, enum3, true);
1315
+ break;
1316
+ }
1317
+ default: {
1318
+ throw new TypeError("invalid variant specified for result");
1319
+ }
1320
+ }
1321
+ }
1322
+ function trampoline19(arg0, arg1) {
1323
+ var handle1 = arg0;
1324
+ var rsc0 = handleTable3.get(handle1).rep;
1325
+ let ret;
1326
+ try {
1327
+ ret = { tag: "ok", val: Descriptor2.prototype.getType.call(rsc0) };
1328
+ } catch (e) {
1329
+ ret = { tag: "err", val: getErrorPayload(e) };
1330
+ }
1331
+ var variant4 = ret;
1332
+ switch (variant4.tag) {
1333
+ case "ok": {
1334
+ const e = variant4.val;
1335
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
1336
+ var val2 = e;
1337
+ let enum2;
1338
+ switch (val2) {
1339
+ case "unknown": {
1340
+ enum2 = 0;
1341
+ break;
1342
+ }
1343
+ case "block-device": {
1344
+ enum2 = 1;
1345
+ break;
1346
+ }
1347
+ case "character-device": {
1348
+ enum2 = 2;
1349
+ break;
1350
+ }
1351
+ case "directory": {
1352
+ enum2 = 3;
1353
+ break;
1354
+ }
1355
+ case "fifo": {
1356
+ enum2 = 4;
1357
+ break;
1358
+ }
1359
+ case "symbolic-link": {
1360
+ enum2 = 5;
1361
+ break;
1362
+ }
1363
+ case "regular-file": {
1364
+ enum2 = 6;
1365
+ break;
1366
+ }
1367
+ case "socket": {
1368
+ enum2 = 7;
1369
+ break;
1370
+ }
1371
+ default: {
1372
+ if (e instanceof Error) {
1373
+ console.error(e);
1374
+ }
1375
+ throw new TypeError(`"${val2}" is not one of the cases of descriptor-type`);
1376
+ }
1377
+ }
1378
+ dataView(memory0).setInt8(arg1 + 1, enum2, true);
1379
+ break;
1380
+ }
1381
+ case "err": {
1382
+ const e = variant4.val;
1383
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
1384
+ var val3 = e;
1385
+ let enum3;
1386
+ switch (val3) {
1387
+ case "access": {
1388
+ enum3 = 0;
1389
+ break;
1390
+ }
1391
+ case "would-block": {
1392
+ enum3 = 1;
1393
+ break;
1394
+ }
1395
+ case "already": {
1396
+ enum3 = 2;
1397
+ break;
1398
+ }
1399
+ case "bad-descriptor": {
1400
+ enum3 = 3;
1401
+ break;
1402
+ }
1403
+ case "busy": {
1404
+ enum3 = 4;
1405
+ break;
1406
+ }
1407
+ case "deadlock": {
1408
+ enum3 = 5;
1409
+ break;
1410
+ }
1411
+ case "quota": {
1412
+ enum3 = 6;
1413
+ break;
1414
+ }
1415
+ case "exist": {
1416
+ enum3 = 7;
1417
+ break;
1418
+ }
1419
+ case "file-too-large": {
1420
+ enum3 = 8;
1421
+ break;
1422
+ }
1423
+ case "illegal-byte-sequence": {
1424
+ enum3 = 9;
1425
+ break;
1426
+ }
1427
+ case "in-progress": {
1428
+ enum3 = 10;
1429
+ break;
1430
+ }
1431
+ case "interrupted": {
1432
+ enum3 = 11;
1433
+ break;
1434
+ }
1435
+ case "invalid": {
1436
+ enum3 = 12;
1437
+ break;
1438
+ }
1439
+ case "io": {
1440
+ enum3 = 13;
1441
+ break;
1442
+ }
1443
+ case "is-directory": {
1444
+ enum3 = 14;
1445
+ break;
1446
+ }
1447
+ case "loop": {
1448
+ enum3 = 15;
1449
+ break;
1450
+ }
1451
+ case "too-many-links": {
1452
+ enum3 = 16;
1453
+ break;
1454
+ }
1455
+ case "message-size": {
1456
+ enum3 = 17;
1457
+ break;
1458
+ }
1459
+ case "name-too-long": {
1460
+ enum3 = 18;
1461
+ break;
1462
+ }
1463
+ case "no-device": {
1464
+ enum3 = 19;
1465
+ break;
1466
+ }
1467
+ case "no-entry": {
1468
+ enum3 = 20;
1469
+ break;
1470
+ }
1471
+ case "no-lock": {
1472
+ enum3 = 21;
1473
+ break;
1474
+ }
1475
+ case "insufficient-memory": {
1476
+ enum3 = 22;
1477
+ break;
1478
+ }
1479
+ case "insufficient-space": {
1480
+ enum3 = 23;
1481
+ break;
1482
+ }
1483
+ case "not-directory": {
1484
+ enum3 = 24;
1485
+ break;
1486
+ }
1487
+ case "not-empty": {
1488
+ enum3 = 25;
1489
+ break;
1490
+ }
1491
+ case "not-recoverable": {
1492
+ enum3 = 26;
1493
+ break;
1494
+ }
1495
+ case "unsupported": {
1496
+ enum3 = 27;
1497
+ break;
1498
+ }
1499
+ case "no-tty": {
1500
+ enum3 = 28;
1501
+ break;
1502
+ }
1503
+ case "no-such-device": {
1504
+ enum3 = 29;
1505
+ break;
1506
+ }
1507
+ case "overflow": {
1508
+ enum3 = 30;
1509
+ break;
1510
+ }
1511
+ case "not-permitted": {
1512
+ enum3 = 31;
1513
+ break;
1514
+ }
1515
+ case "pipe": {
1516
+ enum3 = 32;
1517
+ break;
1518
+ }
1519
+ case "read-only": {
1520
+ enum3 = 33;
1521
+ break;
1522
+ }
1523
+ case "invalid-seek": {
1524
+ enum3 = 34;
1525
+ break;
1526
+ }
1527
+ case "text-file-busy": {
1528
+ enum3 = 35;
1529
+ break;
1530
+ }
1531
+ case "cross-device": {
1532
+ enum3 = 36;
1533
+ break;
1534
+ }
1535
+ default: {
1536
+ if (e instanceof Error) {
1537
+ console.error(e);
1538
+ }
1539
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1540
+ }
1541
+ }
1542
+ dataView(memory0).setInt8(arg1 + 1, enum3, true);
1543
+ break;
1544
+ }
1545
+ default: {
1546
+ throw new TypeError("invalid variant specified for result");
1547
+ }
1548
+ }
1549
+ }
1550
+ function trampoline20(arg0, arg1) {
1551
+ var handle1 = arg0;
1552
+ var rsc0 = handleTable3.get(handle1).rep;
1553
+ let ret;
1554
+ try {
1555
+ ret = { tag: "ok", val: Descriptor2.prototype.readDirectory.call(rsc0) };
1556
+ } catch (e) {
1557
+ ret = { tag: "err", val: getErrorPayload(e) };
1558
+ }
1559
+ var variant4 = ret;
1560
+ switch (variant4.tag) {
1561
+ case "ok": {
1562
+ const e = variant4.val;
1563
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
1564
+ if (!(e instanceof DirectoryEntryStream2)) {
1565
+ throw new Error('Resource error: Not a valid "DirectoryEntryStream" resource.');
1566
+ }
1567
+ var handle2 = handleCnt4++;
1568
+ handleTable4.set(handle2, { rep: e, own: true });
1569
+ dataView(memory0).setInt32(arg1 + 4, handle2, true);
1570
+ break;
1571
+ }
1572
+ case "err": {
1573
+ const e = variant4.val;
1574
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
1575
+ var val3 = e;
1576
+ let enum3;
1577
+ switch (val3) {
1578
+ case "access": {
1579
+ enum3 = 0;
1580
+ break;
1581
+ }
1582
+ case "would-block": {
1583
+ enum3 = 1;
1584
+ break;
1585
+ }
1586
+ case "already": {
1587
+ enum3 = 2;
1588
+ break;
1589
+ }
1590
+ case "bad-descriptor": {
1591
+ enum3 = 3;
1592
+ break;
1593
+ }
1594
+ case "busy": {
1595
+ enum3 = 4;
1596
+ break;
1597
+ }
1598
+ case "deadlock": {
1599
+ enum3 = 5;
1600
+ break;
1601
+ }
1602
+ case "quota": {
1603
+ enum3 = 6;
1604
+ break;
1605
+ }
1606
+ case "exist": {
1607
+ enum3 = 7;
1608
+ break;
1609
+ }
1610
+ case "file-too-large": {
1611
+ enum3 = 8;
1612
+ break;
1613
+ }
1614
+ case "illegal-byte-sequence": {
1615
+ enum3 = 9;
1616
+ break;
1617
+ }
1618
+ case "in-progress": {
1619
+ enum3 = 10;
1620
+ break;
1621
+ }
1622
+ case "interrupted": {
1623
+ enum3 = 11;
1624
+ break;
1625
+ }
1626
+ case "invalid": {
1627
+ enum3 = 12;
1628
+ break;
1629
+ }
1630
+ case "io": {
1631
+ enum3 = 13;
1632
+ break;
1633
+ }
1634
+ case "is-directory": {
1635
+ enum3 = 14;
1636
+ break;
1637
+ }
1638
+ case "loop": {
1639
+ enum3 = 15;
1640
+ break;
1641
+ }
1642
+ case "too-many-links": {
1643
+ enum3 = 16;
1644
+ break;
1645
+ }
1646
+ case "message-size": {
1647
+ enum3 = 17;
1648
+ break;
1649
+ }
1650
+ case "name-too-long": {
1651
+ enum3 = 18;
1652
+ break;
1653
+ }
1654
+ case "no-device": {
1655
+ enum3 = 19;
1656
+ break;
1657
+ }
1658
+ case "no-entry": {
1659
+ enum3 = 20;
1660
+ break;
1661
+ }
1662
+ case "no-lock": {
1663
+ enum3 = 21;
1664
+ break;
1665
+ }
1666
+ case "insufficient-memory": {
1667
+ enum3 = 22;
1668
+ break;
1669
+ }
1670
+ case "insufficient-space": {
1671
+ enum3 = 23;
1672
+ break;
1673
+ }
1674
+ case "not-directory": {
1675
+ enum3 = 24;
1676
+ break;
1677
+ }
1678
+ case "not-empty": {
1679
+ enum3 = 25;
1680
+ break;
1681
+ }
1682
+ case "not-recoverable": {
1683
+ enum3 = 26;
1684
+ break;
1685
+ }
1686
+ case "unsupported": {
1687
+ enum3 = 27;
1688
+ break;
1689
+ }
1690
+ case "no-tty": {
1691
+ enum3 = 28;
1692
+ break;
1693
+ }
1694
+ case "no-such-device": {
1695
+ enum3 = 29;
1696
+ break;
1697
+ }
1698
+ case "overflow": {
1699
+ enum3 = 30;
1700
+ break;
1701
+ }
1702
+ case "not-permitted": {
1703
+ enum3 = 31;
1704
+ break;
1705
+ }
1706
+ case "pipe": {
1707
+ enum3 = 32;
1708
+ break;
1709
+ }
1710
+ case "read-only": {
1711
+ enum3 = 33;
1712
+ break;
1713
+ }
1714
+ case "invalid-seek": {
1715
+ enum3 = 34;
1716
+ break;
1717
+ }
1718
+ case "text-file-busy": {
1719
+ enum3 = 35;
1720
+ break;
1721
+ }
1722
+ case "cross-device": {
1723
+ enum3 = 36;
1724
+ break;
1725
+ }
1726
+ default: {
1727
+ if (e instanceof Error) {
1728
+ console.error(e);
1729
+ }
1730
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1731
+ }
1732
+ }
1733
+ dataView(memory0).setInt8(arg1 + 4, enum3, true);
1734
+ break;
1735
+ }
1736
+ default: {
1737
+ throw new TypeError("invalid variant specified for result");
1738
+ }
1739
+ }
1740
+ }
1741
+ function trampoline21(arg0, arg1, arg2, arg3) {
1742
+ var handle1 = arg0;
1743
+ var rsc0 = handleTable3.get(handle1).rep;
1744
+ var ptr2 = arg1;
1745
+ var len2 = arg2;
1746
+ var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
1747
+ let ret;
1748
+ try {
1749
+ ret = { tag: "ok", val: Descriptor2.prototype.createDirectoryAt.call(rsc0, result2) };
1750
+ } catch (e) {
1751
+ ret = { tag: "err", val: getErrorPayload(e) };
1752
+ }
1753
+ var variant4 = ret;
1754
+ switch (variant4.tag) {
1755
+ case "ok": {
1756
+ const e = variant4.val;
1757
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
1758
+ break;
1759
+ }
1760
+ case "err": {
1761
+ const e = variant4.val;
1762
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
1763
+ var val3 = e;
1764
+ let enum3;
1765
+ switch (val3) {
1766
+ case "access": {
1767
+ enum3 = 0;
1768
+ break;
1769
+ }
1770
+ case "would-block": {
1771
+ enum3 = 1;
1772
+ break;
1773
+ }
1774
+ case "already": {
1775
+ enum3 = 2;
1776
+ break;
1777
+ }
1778
+ case "bad-descriptor": {
1779
+ enum3 = 3;
1780
+ break;
1781
+ }
1782
+ case "busy": {
1783
+ enum3 = 4;
1784
+ break;
1785
+ }
1786
+ case "deadlock": {
1787
+ enum3 = 5;
1788
+ break;
1789
+ }
1790
+ case "quota": {
1791
+ enum3 = 6;
1792
+ break;
1793
+ }
1794
+ case "exist": {
1795
+ enum3 = 7;
1796
+ break;
1797
+ }
1798
+ case "file-too-large": {
1799
+ enum3 = 8;
1800
+ break;
1801
+ }
1802
+ case "illegal-byte-sequence": {
1803
+ enum3 = 9;
1804
+ break;
1805
+ }
1806
+ case "in-progress": {
1807
+ enum3 = 10;
1808
+ break;
1809
+ }
1810
+ case "interrupted": {
1811
+ enum3 = 11;
1812
+ break;
1813
+ }
1814
+ case "invalid": {
1815
+ enum3 = 12;
1816
+ break;
1817
+ }
1818
+ case "io": {
1819
+ enum3 = 13;
1820
+ break;
1821
+ }
1822
+ case "is-directory": {
1823
+ enum3 = 14;
1824
+ break;
1825
+ }
1826
+ case "loop": {
1827
+ enum3 = 15;
1828
+ break;
1829
+ }
1830
+ case "too-many-links": {
1831
+ enum3 = 16;
1832
+ break;
1833
+ }
1834
+ case "message-size": {
1835
+ enum3 = 17;
1836
+ break;
1837
+ }
1838
+ case "name-too-long": {
1839
+ enum3 = 18;
1840
+ break;
1841
+ }
1842
+ case "no-device": {
1843
+ enum3 = 19;
1844
+ break;
1845
+ }
1846
+ case "no-entry": {
1847
+ enum3 = 20;
1848
+ break;
1849
+ }
1850
+ case "no-lock": {
1851
+ enum3 = 21;
1852
+ break;
1853
+ }
1854
+ case "insufficient-memory": {
1855
+ enum3 = 22;
1856
+ break;
1857
+ }
1858
+ case "insufficient-space": {
1859
+ enum3 = 23;
1860
+ break;
1861
+ }
1862
+ case "not-directory": {
1863
+ enum3 = 24;
1864
+ break;
1865
+ }
1866
+ case "not-empty": {
1867
+ enum3 = 25;
1868
+ break;
1869
+ }
1870
+ case "not-recoverable": {
1871
+ enum3 = 26;
1872
+ break;
1873
+ }
1874
+ case "unsupported": {
1875
+ enum3 = 27;
1876
+ break;
1877
+ }
1878
+ case "no-tty": {
1879
+ enum3 = 28;
1880
+ break;
1881
+ }
1882
+ case "no-such-device": {
1883
+ enum3 = 29;
1884
+ break;
1885
+ }
1886
+ case "overflow": {
1887
+ enum3 = 30;
1888
+ break;
1889
+ }
1890
+ case "not-permitted": {
1891
+ enum3 = 31;
1892
+ break;
1893
+ }
1894
+ case "pipe": {
1895
+ enum3 = 32;
1896
+ break;
1897
+ }
1898
+ case "read-only": {
1899
+ enum3 = 33;
1900
+ break;
1901
+ }
1902
+ case "invalid-seek": {
1903
+ enum3 = 34;
1904
+ break;
1905
+ }
1906
+ case "text-file-busy": {
1907
+ enum3 = 35;
1908
+ break;
1909
+ }
1910
+ case "cross-device": {
1911
+ enum3 = 36;
1912
+ break;
1913
+ }
1914
+ default: {
1915
+ if (e instanceof Error) {
1916
+ console.error(e);
1917
+ }
1918
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1919
+ }
1920
+ }
1921
+ dataView(memory0).setInt8(arg3 + 1, enum3, true);
1922
+ break;
1923
+ }
1924
+ default: {
1925
+ throw new TypeError("invalid variant specified for result");
1926
+ }
1927
+ }
1928
+ }
1929
+ function trampoline22(arg0, arg1) {
1930
+ var handle1 = arg0;
1931
+ var rsc0 = handleTable3.get(handle1).rep;
1932
+ let ret;
1933
+ try {
1934
+ ret = { tag: "ok", val: Descriptor2.prototype.stat.call(rsc0) };
1935
+ } catch (e) {
1936
+ ret = { tag: "err", val: getErrorPayload(e) };
1937
+ }
1938
+ var variant11 = ret;
1939
+ switch (variant11.tag) {
1940
+ case "ok": {
1941
+ const e = variant11.val;
1942
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
1943
+ var { type: v2_0, linkCount: v2_1, size: v2_2, dataAccessTimestamp: v2_3, dataModificationTimestamp: v2_4, statusChangeTimestamp: v2_5 } = e;
1944
+ var val3 = v2_0;
1945
+ let enum3;
1946
+ switch (val3) {
1947
+ case "unknown": {
1948
+ enum3 = 0;
1949
+ break;
1950
+ }
1951
+ case "block-device": {
1952
+ enum3 = 1;
1953
+ break;
1954
+ }
1955
+ case "character-device": {
1956
+ enum3 = 2;
1957
+ break;
1958
+ }
1959
+ case "directory": {
1960
+ enum3 = 3;
1961
+ break;
1962
+ }
1963
+ case "fifo": {
1964
+ enum3 = 4;
1965
+ break;
1966
+ }
1967
+ case "symbolic-link": {
1968
+ enum3 = 5;
1969
+ break;
1970
+ }
1971
+ case "regular-file": {
1972
+ enum3 = 6;
1973
+ break;
1974
+ }
1975
+ case "socket": {
1976
+ enum3 = 7;
1977
+ break;
1978
+ }
1979
+ default: {
1980
+ if (v2_0 instanceof Error) {
1981
+ console.error(v2_0);
1982
+ }
1983
+ throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`);
1984
+ }
1985
+ }
1986
+ dataView(memory0).setInt8(arg1 + 8, enum3, true);
1987
+ dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
1988
+ dataView(memory0).setBigInt64(arg1 + 24, toUint64(v2_2), true);
1989
+ var variant5 = v2_3;
1990
+ if (variant5 === null || variant5 === void 0) {
1991
+ dataView(memory0).setInt8(arg1 + 32, 0, true);
1992
+ } else {
1993
+ const e2 = variant5;
1994
+ dataView(memory0).setInt8(arg1 + 32, 1, true);
1995
+ var { seconds: v4_0, nanoseconds: v4_1 } = e2;
1996
+ dataView(memory0).setBigInt64(arg1 + 40, toUint64(v4_0), true);
1997
+ dataView(memory0).setInt32(arg1 + 48, toUint32(v4_1), true);
1998
+ }
1999
+ var variant7 = v2_4;
2000
+ if (variant7 === null || variant7 === void 0) {
2001
+ dataView(memory0).setInt8(arg1 + 56, 0, true);
2002
+ } else {
2003
+ const e2 = variant7;
2004
+ dataView(memory0).setInt8(arg1 + 56, 1, true);
2005
+ var { seconds: v6_0, nanoseconds: v6_1 } = e2;
2006
+ dataView(memory0).setBigInt64(arg1 + 64, toUint64(v6_0), true);
2007
+ dataView(memory0).setInt32(arg1 + 72, toUint32(v6_1), true);
2008
+ }
2009
+ var variant9 = v2_5;
2010
+ if (variant9 === null || variant9 === void 0) {
2011
+ dataView(memory0).setInt8(arg1 + 80, 0, true);
2012
+ } else {
2013
+ const e2 = variant9;
2014
+ dataView(memory0).setInt8(arg1 + 80, 1, true);
2015
+ var { seconds: v8_0, nanoseconds: v8_1 } = e2;
2016
+ dataView(memory0).setBigInt64(arg1 + 88, toUint64(v8_0), true);
2017
+ dataView(memory0).setInt32(arg1 + 96, toUint32(v8_1), true);
2018
+ }
2019
+ break;
2020
+ }
2021
+ case "err": {
2022
+ const e = variant11.val;
2023
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
2024
+ var val10 = e;
2025
+ let enum10;
2026
+ switch (val10) {
2027
+ case "access": {
2028
+ enum10 = 0;
2029
+ break;
2030
+ }
2031
+ case "would-block": {
2032
+ enum10 = 1;
2033
+ break;
2034
+ }
2035
+ case "already": {
2036
+ enum10 = 2;
2037
+ break;
2038
+ }
2039
+ case "bad-descriptor": {
2040
+ enum10 = 3;
2041
+ break;
2042
+ }
2043
+ case "busy": {
2044
+ enum10 = 4;
2045
+ break;
2046
+ }
2047
+ case "deadlock": {
2048
+ enum10 = 5;
2049
+ break;
2050
+ }
2051
+ case "quota": {
2052
+ enum10 = 6;
2053
+ break;
2054
+ }
2055
+ case "exist": {
2056
+ enum10 = 7;
2057
+ break;
2058
+ }
2059
+ case "file-too-large": {
2060
+ enum10 = 8;
2061
+ break;
2062
+ }
2063
+ case "illegal-byte-sequence": {
2064
+ enum10 = 9;
2065
+ break;
2066
+ }
2067
+ case "in-progress": {
2068
+ enum10 = 10;
2069
+ break;
2070
+ }
2071
+ case "interrupted": {
2072
+ enum10 = 11;
2073
+ break;
2074
+ }
2075
+ case "invalid": {
2076
+ enum10 = 12;
2077
+ break;
2078
+ }
2079
+ case "io": {
2080
+ enum10 = 13;
2081
+ break;
2082
+ }
2083
+ case "is-directory": {
2084
+ enum10 = 14;
2085
+ break;
2086
+ }
2087
+ case "loop": {
2088
+ enum10 = 15;
2089
+ break;
2090
+ }
2091
+ case "too-many-links": {
2092
+ enum10 = 16;
2093
+ break;
2094
+ }
2095
+ case "message-size": {
2096
+ enum10 = 17;
2097
+ break;
2098
+ }
2099
+ case "name-too-long": {
2100
+ enum10 = 18;
2101
+ break;
2102
+ }
2103
+ case "no-device": {
2104
+ enum10 = 19;
2105
+ break;
2106
+ }
2107
+ case "no-entry": {
2108
+ enum10 = 20;
2109
+ break;
2110
+ }
2111
+ case "no-lock": {
2112
+ enum10 = 21;
2113
+ break;
2114
+ }
2115
+ case "insufficient-memory": {
2116
+ enum10 = 22;
2117
+ break;
2118
+ }
2119
+ case "insufficient-space": {
2120
+ enum10 = 23;
2121
+ break;
2122
+ }
2123
+ case "not-directory": {
2124
+ enum10 = 24;
2125
+ break;
2126
+ }
2127
+ case "not-empty": {
2128
+ enum10 = 25;
2129
+ break;
2130
+ }
2131
+ case "not-recoverable": {
2132
+ enum10 = 26;
2133
+ break;
2134
+ }
2135
+ case "unsupported": {
2136
+ enum10 = 27;
2137
+ break;
2138
+ }
2139
+ case "no-tty": {
2140
+ enum10 = 28;
2141
+ break;
2142
+ }
2143
+ case "no-such-device": {
2144
+ enum10 = 29;
2145
+ break;
2146
+ }
2147
+ case "overflow": {
2148
+ enum10 = 30;
2149
+ break;
2150
+ }
2151
+ case "not-permitted": {
2152
+ enum10 = 31;
2153
+ break;
2154
+ }
2155
+ case "pipe": {
2156
+ enum10 = 32;
2157
+ break;
2158
+ }
2159
+ case "read-only": {
2160
+ enum10 = 33;
2161
+ break;
2162
+ }
2163
+ case "invalid-seek": {
2164
+ enum10 = 34;
2165
+ break;
2166
+ }
2167
+ case "text-file-busy": {
2168
+ enum10 = 35;
2169
+ break;
2170
+ }
2171
+ case "cross-device": {
2172
+ enum10 = 36;
2173
+ break;
2174
+ }
2175
+ default: {
2176
+ if (e instanceof Error) {
2177
+ console.error(e);
2178
+ }
2179
+ throw new TypeError(`"${val10}" is not one of the cases of error-code`);
2180
+ }
2181
+ }
2182
+ dataView(memory0).setInt8(arg1 + 8, enum10, true);
2183
+ break;
2184
+ }
2185
+ default: {
2186
+ throw new TypeError("invalid variant specified for result");
2187
+ }
2188
+ }
2189
+ }
2190
+ function trampoline23(arg0, arg1, arg2, arg3, arg4) {
2191
+ var handle1 = arg0;
2192
+ var rsc0 = handleTable3.get(handle1).rep;
2193
+ if ((arg1 & 4294967294) !== 0) {
2194
+ throw new TypeError("flags have extraneous bits set");
2195
+ }
2196
+ var flags2 = {
2197
+ symlinkFollow: Boolean(arg1 & 1)
2198
+ };
2199
+ var ptr3 = arg2;
2200
+ var len3 = arg3;
2201
+ var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
2202
+ let ret;
2203
+ try {
2204
+ ret = { tag: "ok", val: Descriptor2.prototype.statAt.call(rsc0, flags2, result3) };
2205
+ } catch (e) {
2206
+ ret = { tag: "err", val: getErrorPayload(e) };
2207
+ }
2208
+ var variant13 = ret;
2209
+ switch (variant13.tag) {
2210
+ case "ok": {
2211
+ const e = variant13.val;
2212
+ dataView(memory0).setInt8(arg4 + 0, 0, true);
2213
+ var { type: v4_0, linkCount: v4_1, size: v4_2, dataAccessTimestamp: v4_3, dataModificationTimestamp: v4_4, statusChangeTimestamp: v4_5 } = e;
2214
+ var val5 = v4_0;
2215
+ let enum5;
2216
+ switch (val5) {
2217
+ case "unknown": {
2218
+ enum5 = 0;
2219
+ break;
2220
+ }
2221
+ case "block-device": {
2222
+ enum5 = 1;
2223
+ break;
2224
+ }
2225
+ case "character-device": {
2226
+ enum5 = 2;
2227
+ break;
2228
+ }
2229
+ case "directory": {
2230
+ enum5 = 3;
2231
+ break;
2232
+ }
2233
+ case "fifo": {
2234
+ enum5 = 4;
2235
+ break;
2236
+ }
2237
+ case "symbolic-link": {
2238
+ enum5 = 5;
2239
+ break;
2240
+ }
2241
+ case "regular-file": {
2242
+ enum5 = 6;
2243
+ break;
2244
+ }
2245
+ case "socket": {
2246
+ enum5 = 7;
2247
+ break;
2248
+ }
2249
+ default: {
2250
+ if (v4_0 instanceof Error) {
2251
+ console.error(v4_0);
2252
+ }
2253
+ throw new TypeError(`"${val5}" is not one of the cases of descriptor-type`);
2254
+ }
2255
+ }
2256
+ dataView(memory0).setInt8(arg4 + 8, enum5, true);
2257
+ dataView(memory0).setBigInt64(arg4 + 16, toUint64(v4_1), true);
2258
+ dataView(memory0).setBigInt64(arg4 + 24, toUint64(v4_2), true);
2259
+ var variant7 = v4_3;
2260
+ if (variant7 === null || variant7 === void 0) {
2261
+ dataView(memory0).setInt8(arg4 + 32, 0, true);
2262
+ } else {
2263
+ const e2 = variant7;
2264
+ dataView(memory0).setInt8(arg4 + 32, 1, true);
2265
+ var { seconds: v6_0, nanoseconds: v6_1 } = e2;
2266
+ dataView(memory0).setBigInt64(arg4 + 40, toUint64(v6_0), true);
2267
+ dataView(memory0).setInt32(arg4 + 48, toUint32(v6_1), true);
2268
+ }
2269
+ var variant9 = v4_4;
2270
+ if (variant9 === null || variant9 === void 0) {
2271
+ dataView(memory0).setInt8(arg4 + 56, 0, true);
2272
+ } else {
2273
+ const e2 = variant9;
2274
+ dataView(memory0).setInt8(arg4 + 56, 1, true);
2275
+ var { seconds: v8_0, nanoseconds: v8_1 } = e2;
2276
+ dataView(memory0).setBigInt64(arg4 + 64, toUint64(v8_0), true);
2277
+ dataView(memory0).setInt32(arg4 + 72, toUint32(v8_1), true);
2278
+ }
2279
+ var variant11 = v4_5;
2280
+ if (variant11 === null || variant11 === void 0) {
2281
+ dataView(memory0).setInt8(arg4 + 80, 0, true);
2282
+ } else {
2283
+ const e2 = variant11;
2284
+ dataView(memory0).setInt8(arg4 + 80, 1, true);
2285
+ var { seconds: v10_0, nanoseconds: v10_1 } = e2;
2286
+ dataView(memory0).setBigInt64(arg4 + 88, toUint64(v10_0), true);
2287
+ dataView(memory0).setInt32(arg4 + 96, toUint32(v10_1), true);
2288
+ }
2289
+ break;
2290
+ }
2291
+ case "err": {
2292
+ const e = variant13.val;
2293
+ dataView(memory0).setInt8(arg4 + 0, 1, true);
2294
+ var val12 = e;
2295
+ let enum12;
2296
+ switch (val12) {
2297
+ case "access": {
2298
+ enum12 = 0;
2299
+ break;
2300
+ }
2301
+ case "would-block": {
2302
+ enum12 = 1;
2303
+ break;
2304
+ }
2305
+ case "already": {
2306
+ enum12 = 2;
2307
+ break;
2308
+ }
2309
+ case "bad-descriptor": {
2310
+ enum12 = 3;
2311
+ break;
2312
+ }
2313
+ case "busy": {
2314
+ enum12 = 4;
2315
+ break;
2316
+ }
2317
+ case "deadlock": {
2318
+ enum12 = 5;
2319
+ break;
2320
+ }
2321
+ case "quota": {
2322
+ enum12 = 6;
2323
+ break;
2324
+ }
2325
+ case "exist": {
2326
+ enum12 = 7;
2327
+ break;
2328
+ }
2329
+ case "file-too-large": {
2330
+ enum12 = 8;
2331
+ break;
2332
+ }
2333
+ case "illegal-byte-sequence": {
2334
+ enum12 = 9;
2335
+ break;
2336
+ }
2337
+ case "in-progress": {
2338
+ enum12 = 10;
2339
+ break;
2340
+ }
2341
+ case "interrupted": {
2342
+ enum12 = 11;
2343
+ break;
2344
+ }
2345
+ case "invalid": {
2346
+ enum12 = 12;
2347
+ break;
2348
+ }
2349
+ case "io": {
2350
+ enum12 = 13;
2351
+ break;
2352
+ }
2353
+ case "is-directory": {
2354
+ enum12 = 14;
2355
+ break;
2356
+ }
2357
+ case "loop": {
2358
+ enum12 = 15;
2359
+ break;
2360
+ }
2361
+ case "too-many-links": {
2362
+ enum12 = 16;
2363
+ break;
2364
+ }
2365
+ case "message-size": {
2366
+ enum12 = 17;
2367
+ break;
2368
+ }
2369
+ case "name-too-long": {
2370
+ enum12 = 18;
2371
+ break;
2372
+ }
2373
+ case "no-device": {
2374
+ enum12 = 19;
2375
+ break;
2376
+ }
2377
+ case "no-entry": {
2378
+ enum12 = 20;
2379
+ break;
2380
+ }
2381
+ case "no-lock": {
2382
+ enum12 = 21;
2383
+ break;
2384
+ }
2385
+ case "insufficient-memory": {
2386
+ enum12 = 22;
2387
+ break;
2388
+ }
2389
+ case "insufficient-space": {
2390
+ enum12 = 23;
2391
+ break;
2392
+ }
2393
+ case "not-directory": {
2394
+ enum12 = 24;
2395
+ break;
2396
+ }
2397
+ case "not-empty": {
2398
+ enum12 = 25;
2399
+ break;
2400
+ }
2401
+ case "not-recoverable": {
2402
+ enum12 = 26;
2403
+ break;
2404
+ }
2405
+ case "unsupported": {
2406
+ enum12 = 27;
2407
+ break;
2408
+ }
2409
+ case "no-tty": {
2410
+ enum12 = 28;
2411
+ break;
2412
+ }
2413
+ case "no-such-device": {
2414
+ enum12 = 29;
2415
+ break;
2416
+ }
2417
+ case "overflow": {
2418
+ enum12 = 30;
2419
+ break;
2420
+ }
2421
+ case "not-permitted": {
2422
+ enum12 = 31;
2423
+ break;
2424
+ }
2425
+ case "pipe": {
2426
+ enum12 = 32;
2427
+ break;
2428
+ }
2429
+ case "read-only": {
2430
+ enum12 = 33;
2431
+ break;
2432
+ }
2433
+ case "invalid-seek": {
2434
+ enum12 = 34;
2435
+ break;
2436
+ }
2437
+ case "text-file-busy": {
2438
+ enum12 = 35;
2439
+ break;
2440
+ }
2441
+ case "cross-device": {
2442
+ enum12 = 36;
2443
+ break;
2444
+ }
2445
+ default: {
2446
+ if (e instanceof Error) {
2447
+ console.error(e);
2448
+ }
2449
+ throw new TypeError(`"${val12}" is not one of the cases of error-code`);
2450
+ }
2451
+ }
2452
+ dataView(memory0).setInt8(arg4 + 8, enum12, true);
2453
+ break;
2454
+ }
2455
+ default: {
2456
+ throw new TypeError("invalid variant specified for result");
2457
+ }
2458
+ }
2459
+ }
2460
+ function trampoline24(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
2461
+ var handle1 = arg0;
2462
+ var rsc0 = handleTable3.get(handle1).rep;
2463
+ if ((arg1 & 4294967294) !== 0) {
2464
+ throw new TypeError("flags have extraneous bits set");
2465
+ }
2466
+ var flags2 = {
2467
+ symlinkFollow: Boolean(arg1 & 1)
2468
+ };
2469
+ var ptr3 = arg2;
2470
+ var len3 = arg3;
2471
+ var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
2472
+ if ((arg4 & 4294967280) !== 0) {
2473
+ throw new TypeError("flags have extraneous bits set");
2474
+ }
2475
+ var flags4 = {
2476
+ create: Boolean(arg4 & 1),
2477
+ directory: Boolean(arg4 & 2),
2478
+ exclusive: Boolean(arg4 & 4),
2479
+ truncate: Boolean(arg4 & 8)
2480
+ };
2481
+ if ((arg5 & 4294967232) !== 0) {
2482
+ throw new TypeError("flags have extraneous bits set");
2483
+ }
2484
+ var flags5 = {
2485
+ read: Boolean(arg5 & 1),
2486
+ write: Boolean(arg5 & 2),
2487
+ fileIntegritySync: Boolean(arg5 & 4),
2488
+ dataIntegritySync: Boolean(arg5 & 8),
2489
+ requestedWriteSync: Boolean(arg5 & 16),
2490
+ mutateDirectory: Boolean(arg5 & 32)
2491
+ };
2492
+ let ret;
2493
+ try {
2494
+ ret = { tag: "ok", val: Descriptor2.prototype.openAt.call(rsc0, flags2, result3, flags4, flags5) };
2495
+ } catch (e) {
2496
+ ret = { tag: "err", val: getErrorPayload(e) };
2497
+ }
2498
+ var variant8 = ret;
2499
+ switch (variant8.tag) {
2500
+ case "ok": {
2501
+ const e = variant8.val;
2502
+ dataView(memory0).setInt8(arg6 + 0, 0, true);
2503
+ if (!(e instanceof Descriptor2)) {
2504
+ throw new Error('Resource error: Not a valid "Descriptor" resource.');
2505
+ }
2506
+ var handle6 = handleCnt3++;
2507
+ handleTable3.set(handle6, { rep: e, own: true });
2508
+ dataView(memory0).setInt32(arg6 + 4, handle6, true);
2509
+ break;
2510
+ }
2511
+ case "err": {
2512
+ const e = variant8.val;
2513
+ dataView(memory0).setInt8(arg6 + 0, 1, true);
2514
+ var val7 = e;
2515
+ let enum7;
2516
+ switch (val7) {
2517
+ case "access": {
2518
+ enum7 = 0;
2519
+ break;
2520
+ }
2521
+ case "would-block": {
2522
+ enum7 = 1;
2523
+ break;
2524
+ }
2525
+ case "already": {
2526
+ enum7 = 2;
2527
+ break;
2528
+ }
2529
+ case "bad-descriptor": {
2530
+ enum7 = 3;
2531
+ break;
2532
+ }
2533
+ case "busy": {
2534
+ enum7 = 4;
2535
+ break;
2536
+ }
2537
+ case "deadlock": {
2538
+ enum7 = 5;
2539
+ break;
2540
+ }
2541
+ case "quota": {
2542
+ enum7 = 6;
2543
+ break;
2544
+ }
2545
+ case "exist": {
2546
+ enum7 = 7;
2547
+ break;
2548
+ }
2549
+ case "file-too-large": {
2550
+ enum7 = 8;
2551
+ break;
2552
+ }
2553
+ case "illegal-byte-sequence": {
2554
+ enum7 = 9;
2555
+ break;
2556
+ }
2557
+ case "in-progress": {
2558
+ enum7 = 10;
2559
+ break;
2560
+ }
2561
+ case "interrupted": {
2562
+ enum7 = 11;
2563
+ break;
2564
+ }
2565
+ case "invalid": {
2566
+ enum7 = 12;
2567
+ break;
2568
+ }
2569
+ case "io": {
2570
+ enum7 = 13;
2571
+ break;
2572
+ }
2573
+ case "is-directory": {
2574
+ enum7 = 14;
2575
+ break;
2576
+ }
2577
+ case "loop": {
2578
+ enum7 = 15;
2579
+ break;
2580
+ }
2581
+ case "too-many-links": {
2582
+ enum7 = 16;
2583
+ break;
2584
+ }
2585
+ case "message-size": {
2586
+ enum7 = 17;
2587
+ break;
2588
+ }
2589
+ case "name-too-long": {
2590
+ enum7 = 18;
2591
+ break;
2592
+ }
2593
+ case "no-device": {
2594
+ enum7 = 19;
2595
+ break;
2596
+ }
2597
+ case "no-entry": {
2598
+ enum7 = 20;
2599
+ break;
2600
+ }
2601
+ case "no-lock": {
2602
+ enum7 = 21;
2603
+ break;
2604
+ }
2605
+ case "insufficient-memory": {
2606
+ enum7 = 22;
2607
+ break;
2608
+ }
2609
+ case "insufficient-space": {
2610
+ enum7 = 23;
2611
+ break;
2612
+ }
2613
+ case "not-directory": {
2614
+ enum7 = 24;
2615
+ break;
2616
+ }
2617
+ case "not-empty": {
2618
+ enum7 = 25;
2619
+ break;
2620
+ }
2621
+ case "not-recoverable": {
2622
+ enum7 = 26;
2623
+ break;
2624
+ }
2625
+ case "unsupported": {
2626
+ enum7 = 27;
2627
+ break;
2628
+ }
2629
+ case "no-tty": {
2630
+ enum7 = 28;
2631
+ break;
2632
+ }
2633
+ case "no-such-device": {
2634
+ enum7 = 29;
2635
+ break;
2636
+ }
2637
+ case "overflow": {
2638
+ enum7 = 30;
2639
+ break;
2640
+ }
2641
+ case "not-permitted": {
2642
+ enum7 = 31;
2643
+ break;
2644
+ }
2645
+ case "pipe": {
2646
+ enum7 = 32;
2647
+ break;
2648
+ }
2649
+ case "read-only": {
2650
+ enum7 = 33;
2651
+ break;
2652
+ }
2653
+ case "invalid-seek": {
2654
+ enum7 = 34;
2655
+ break;
2656
+ }
2657
+ case "text-file-busy": {
2658
+ enum7 = 35;
2659
+ break;
2660
+ }
2661
+ case "cross-device": {
2662
+ enum7 = 36;
2663
+ break;
2664
+ }
2665
+ default: {
2666
+ if (e instanceof Error) {
2667
+ console.error(e);
2668
+ }
2669
+ throw new TypeError(`"${val7}" is not one of the cases of error-code`);
2670
+ }
2671
+ }
2672
+ dataView(memory0).setInt8(arg6 + 4, enum7, true);
2673
+ break;
2674
+ }
2675
+ default: {
2676
+ throw new TypeError("invalid variant specified for result");
2677
+ }
2678
+ }
2679
+ }
2680
+ function trampoline25(arg0, arg1, arg2, arg3) {
2681
+ var handle1 = arg0;
2682
+ var rsc0 = handleTable3.get(handle1).rep;
2683
+ var ptr2 = arg1;
2684
+ var len2 = arg2;
2685
+ var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
2686
+ let ret;
2687
+ try {
2688
+ ret = { tag: "ok", val: Descriptor2.prototype.removeDirectoryAt.call(rsc0, result2) };
2689
+ } catch (e) {
2690
+ ret = { tag: "err", val: getErrorPayload(e) };
2691
+ }
2692
+ var variant4 = ret;
2693
+ switch (variant4.tag) {
2694
+ case "ok": {
2695
+ const e = variant4.val;
2696
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
2697
+ break;
2698
+ }
2699
+ case "err": {
2700
+ const e = variant4.val;
2701
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
2702
+ var val3 = e;
2703
+ let enum3;
2704
+ switch (val3) {
2705
+ case "access": {
2706
+ enum3 = 0;
2707
+ break;
2708
+ }
2709
+ case "would-block": {
2710
+ enum3 = 1;
2711
+ break;
2712
+ }
2713
+ case "already": {
2714
+ enum3 = 2;
2715
+ break;
2716
+ }
2717
+ case "bad-descriptor": {
2718
+ enum3 = 3;
2719
+ break;
2720
+ }
2721
+ case "busy": {
2722
+ enum3 = 4;
2723
+ break;
2724
+ }
2725
+ case "deadlock": {
2726
+ enum3 = 5;
2727
+ break;
2728
+ }
2729
+ case "quota": {
2730
+ enum3 = 6;
2731
+ break;
2732
+ }
2733
+ case "exist": {
2734
+ enum3 = 7;
2735
+ break;
2736
+ }
2737
+ case "file-too-large": {
2738
+ enum3 = 8;
2739
+ break;
2740
+ }
2741
+ case "illegal-byte-sequence": {
2742
+ enum3 = 9;
2743
+ break;
2744
+ }
2745
+ case "in-progress": {
2746
+ enum3 = 10;
2747
+ break;
2748
+ }
2749
+ case "interrupted": {
2750
+ enum3 = 11;
2751
+ break;
2752
+ }
2753
+ case "invalid": {
2754
+ enum3 = 12;
2755
+ break;
2756
+ }
2757
+ case "io": {
2758
+ enum3 = 13;
2759
+ break;
2760
+ }
2761
+ case "is-directory": {
2762
+ enum3 = 14;
2763
+ break;
2764
+ }
2765
+ case "loop": {
2766
+ enum3 = 15;
2767
+ break;
2768
+ }
2769
+ case "too-many-links": {
2770
+ enum3 = 16;
2771
+ break;
2772
+ }
2773
+ case "message-size": {
2774
+ enum3 = 17;
2775
+ break;
2776
+ }
2777
+ case "name-too-long": {
2778
+ enum3 = 18;
2779
+ break;
2780
+ }
2781
+ case "no-device": {
2782
+ enum3 = 19;
2783
+ break;
2784
+ }
2785
+ case "no-entry": {
2786
+ enum3 = 20;
2787
+ break;
2788
+ }
2789
+ case "no-lock": {
2790
+ enum3 = 21;
2791
+ break;
2792
+ }
2793
+ case "insufficient-memory": {
2794
+ enum3 = 22;
2795
+ break;
2796
+ }
2797
+ case "insufficient-space": {
2798
+ enum3 = 23;
2799
+ break;
2800
+ }
2801
+ case "not-directory": {
2802
+ enum3 = 24;
2803
+ break;
2804
+ }
2805
+ case "not-empty": {
2806
+ enum3 = 25;
2807
+ break;
2808
+ }
2809
+ case "not-recoverable": {
2810
+ enum3 = 26;
2811
+ break;
2812
+ }
2813
+ case "unsupported": {
2814
+ enum3 = 27;
2815
+ break;
2816
+ }
2817
+ case "no-tty": {
2818
+ enum3 = 28;
2819
+ break;
2820
+ }
2821
+ case "no-such-device": {
2822
+ enum3 = 29;
2823
+ break;
2824
+ }
2825
+ case "overflow": {
2826
+ enum3 = 30;
2827
+ break;
2828
+ }
2829
+ case "not-permitted": {
2830
+ enum3 = 31;
2831
+ break;
2832
+ }
2833
+ case "pipe": {
2834
+ enum3 = 32;
2835
+ break;
2836
+ }
2837
+ case "read-only": {
2838
+ enum3 = 33;
2839
+ break;
2840
+ }
2841
+ case "invalid-seek": {
2842
+ enum3 = 34;
2843
+ break;
2844
+ }
2845
+ case "text-file-busy": {
2846
+ enum3 = 35;
2847
+ break;
2848
+ }
2849
+ case "cross-device": {
2850
+ enum3 = 36;
2851
+ break;
2852
+ }
2853
+ default: {
2854
+ if (e instanceof Error) {
2855
+ console.error(e);
2856
+ }
2857
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
2858
+ }
2859
+ }
2860
+ dataView(memory0).setInt8(arg3 + 1, enum3, true);
2861
+ break;
2862
+ }
2863
+ default: {
2864
+ throw new TypeError("invalid variant specified for result");
2865
+ }
2866
+ }
2867
+ }
2868
+ function trampoline26(arg0, arg1, arg2, arg3) {
2869
+ var handle1 = arg0;
2870
+ var rsc0 = handleTable3.get(handle1).rep;
2871
+ var ptr2 = arg1;
2872
+ var len2 = arg2;
2873
+ var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
2874
+ let ret;
2875
+ try {
2876
+ ret = { tag: "ok", val: Descriptor2.prototype.unlinkFileAt.call(rsc0, result2) };
2877
+ } catch (e) {
2878
+ ret = { tag: "err", val: getErrorPayload(e) };
2879
+ }
2880
+ var variant4 = ret;
2881
+ switch (variant4.tag) {
2882
+ case "ok": {
2883
+ const e = variant4.val;
2884
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
2885
+ break;
2886
+ }
2887
+ case "err": {
2888
+ const e = variant4.val;
2889
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
2890
+ var val3 = e;
2891
+ let enum3;
2892
+ switch (val3) {
2893
+ case "access": {
2894
+ enum3 = 0;
2895
+ break;
2896
+ }
2897
+ case "would-block": {
2898
+ enum3 = 1;
2899
+ break;
2900
+ }
2901
+ case "already": {
2902
+ enum3 = 2;
2903
+ break;
2904
+ }
2905
+ case "bad-descriptor": {
2906
+ enum3 = 3;
2907
+ break;
2908
+ }
2909
+ case "busy": {
2910
+ enum3 = 4;
2911
+ break;
2912
+ }
2913
+ case "deadlock": {
2914
+ enum3 = 5;
2915
+ break;
2916
+ }
2917
+ case "quota": {
2918
+ enum3 = 6;
2919
+ break;
2920
+ }
2921
+ case "exist": {
2922
+ enum3 = 7;
2923
+ break;
2924
+ }
2925
+ case "file-too-large": {
2926
+ enum3 = 8;
2927
+ break;
2928
+ }
2929
+ case "illegal-byte-sequence": {
2930
+ enum3 = 9;
2931
+ break;
2932
+ }
2933
+ case "in-progress": {
2934
+ enum3 = 10;
2935
+ break;
2936
+ }
2937
+ case "interrupted": {
2938
+ enum3 = 11;
2939
+ break;
2940
+ }
2941
+ case "invalid": {
2942
+ enum3 = 12;
2943
+ break;
2944
+ }
2945
+ case "io": {
2946
+ enum3 = 13;
2947
+ break;
2948
+ }
2949
+ case "is-directory": {
2950
+ enum3 = 14;
2951
+ break;
2952
+ }
2953
+ case "loop": {
2954
+ enum3 = 15;
2955
+ break;
2956
+ }
2957
+ case "too-many-links": {
2958
+ enum3 = 16;
2959
+ break;
2960
+ }
2961
+ case "message-size": {
2962
+ enum3 = 17;
2963
+ break;
2964
+ }
2965
+ case "name-too-long": {
2966
+ enum3 = 18;
2967
+ break;
2968
+ }
2969
+ case "no-device": {
2970
+ enum3 = 19;
2971
+ break;
2972
+ }
2973
+ case "no-entry": {
2974
+ enum3 = 20;
2975
+ break;
2976
+ }
2977
+ case "no-lock": {
2978
+ enum3 = 21;
2979
+ break;
2980
+ }
2981
+ case "insufficient-memory": {
2982
+ enum3 = 22;
2983
+ break;
2984
+ }
2985
+ case "insufficient-space": {
2986
+ enum3 = 23;
2987
+ break;
2988
+ }
2989
+ case "not-directory": {
2990
+ enum3 = 24;
2991
+ break;
2992
+ }
2993
+ case "not-empty": {
2994
+ enum3 = 25;
2995
+ break;
2996
+ }
2997
+ case "not-recoverable": {
2998
+ enum3 = 26;
2999
+ break;
3000
+ }
3001
+ case "unsupported": {
3002
+ enum3 = 27;
3003
+ break;
3004
+ }
3005
+ case "no-tty": {
3006
+ enum3 = 28;
3007
+ break;
3008
+ }
3009
+ case "no-such-device": {
3010
+ enum3 = 29;
3011
+ break;
3012
+ }
3013
+ case "overflow": {
3014
+ enum3 = 30;
3015
+ break;
3016
+ }
3017
+ case "not-permitted": {
3018
+ enum3 = 31;
3019
+ break;
3020
+ }
3021
+ case "pipe": {
3022
+ enum3 = 32;
3023
+ break;
3024
+ }
3025
+ case "read-only": {
3026
+ enum3 = 33;
3027
+ break;
3028
+ }
3029
+ case "invalid-seek": {
3030
+ enum3 = 34;
3031
+ break;
3032
+ }
3033
+ case "text-file-busy": {
3034
+ enum3 = 35;
3035
+ break;
3036
+ }
3037
+ case "cross-device": {
3038
+ enum3 = 36;
3039
+ break;
3040
+ }
3041
+ default: {
3042
+ if (e instanceof Error) {
3043
+ console.error(e);
3044
+ }
3045
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
3046
+ }
3047
+ }
3048
+ dataView(memory0).setInt8(arg3 + 1, enum3, true);
3049
+ break;
3050
+ }
3051
+ default: {
3052
+ throw new TypeError("invalid variant specified for result");
3053
+ }
3054
+ }
3055
+ }
3056
+ function trampoline27(arg0, arg1) {
3057
+ var handle1 = arg0;
3058
+ var rsc0 = handleTable3.get(handle1).rep;
3059
+ let ret;
3060
+ try {
3061
+ ret = { tag: "ok", val: Descriptor2.prototype.metadataHash.call(rsc0) };
3062
+ } catch (e) {
3063
+ ret = { tag: "err", val: getErrorPayload(e) };
3064
+ }
3065
+ var variant4 = ret;
3066
+ switch (variant4.tag) {
3067
+ case "ok": {
3068
+ const e = variant4.val;
3069
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
3070
+ var { lower: v2_0, upper: v2_1 } = e;
3071
+ dataView(memory0).setBigInt64(arg1 + 8, toUint64(v2_0), true);
3072
+ dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
3073
+ break;
3074
+ }
3075
+ case "err": {
3076
+ const e = variant4.val;
3077
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
3078
+ var val3 = e;
3079
+ let enum3;
3080
+ switch (val3) {
3081
+ case "access": {
3082
+ enum3 = 0;
3083
+ break;
3084
+ }
3085
+ case "would-block": {
3086
+ enum3 = 1;
3087
+ break;
3088
+ }
3089
+ case "already": {
3090
+ enum3 = 2;
3091
+ break;
3092
+ }
3093
+ case "bad-descriptor": {
3094
+ enum3 = 3;
3095
+ break;
3096
+ }
3097
+ case "busy": {
3098
+ enum3 = 4;
3099
+ break;
3100
+ }
3101
+ case "deadlock": {
3102
+ enum3 = 5;
3103
+ break;
3104
+ }
3105
+ case "quota": {
3106
+ enum3 = 6;
3107
+ break;
3108
+ }
3109
+ case "exist": {
3110
+ enum3 = 7;
3111
+ break;
3112
+ }
3113
+ case "file-too-large": {
3114
+ enum3 = 8;
3115
+ break;
3116
+ }
3117
+ case "illegal-byte-sequence": {
3118
+ enum3 = 9;
3119
+ break;
3120
+ }
3121
+ case "in-progress": {
3122
+ enum3 = 10;
3123
+ break;
3124
+ }
3125
+ case "interrupted": {
3126
+ enum3 = 11;
3127
+ break;
3128
+ }
3129
+ case "invalid": {
3130
+ enum3 = 12;
3131
+ break;
3132
+ }
3133
+ case "io": {
3134
+ enum3 = 13;
3135
+ break;
3136
+ }
3137
+ case "is-directory": {
3138
+ enum3 = 14;
3139
+ break;
3140
+ }
3141
+ case "loop": {
3142
+ enum3 = 15;
3143
+ break;
3144
+ }
3145
+ case "too-many-links": {
3146
+ enum3 = 16;
3147
+ break;
3148
+ }
3149
+ case "message-size": {
3150
+ enum3 = 17;
3151
+ break;
3152
+ }
3153
+ case "name-too-long": {
3154
+ enum3 = 18;
3155
+ break;
3156
+ }
3157
+ case "no-device": {
3158
+ enum3 = 19;
3159
+ break;
3160
+ }
3161
+ case "no-entry": {
3162
+ enum3 = 20;
3163
+ break;
3164
+ }
3165
+ case "no-lock": {
3166
+ enum3 = 21;
3167
+ break;
3168
+ }
3169
+ case "insufficient-memory": {
3170
+ enum3 = 22;
3171
+ break;
3172
+ }
3173
+ case "insufficient-space": {
3174
+ enum3 = 23;
3175
+ break;
3176
+ }
3177
+ case "not-directory": {
3178
+ enum3 = 24;
3179
+ break;
3180
+ }
3181
+ case "not-empty": {
3182
+ enum3 = 25;
3183
+ break;
3184
+ }
3185
+ case "not-recoverable": {
3186
+ enum3 = 26;
3187
+ break;
3188
+ }
3189
+ case "unsupported": {
3190
+ enum3 = 27;
3191
+ break;
3192
+ }
3193
+ case "no-tty": {
3194
+ enum3 = 28;
3195
+ break;
3196
+ }
3197
+ case "no-such-device": {
3198
+ enum3 = 29;
3199
+ break;
3200
+ }
3201
+ case "overflow": {
3202
+ enum3 = 30;
3203
+ break;
3204
+ }
3205
+ case "not-permitted": {
3206
+ enum3 = 31;
3207
+ break;
3208
+ }
3209
+ case "pipe": {
3210
+ enum3 = 32;
3211
+ break;
3212
+ }
3213
+ case "read-only": {
3214
+ enum3 = 33;
3215
+ break;
3216
+ }
3217
+ case "invalid-seek": {
3218
+ enum3 = 34;
3219
+ break;
3220
+ }
3221
+ case "text-file-busy": {
3222
+ enum3 = 35;
3223
+ break;
3224
+ }
3225
+ case "cross-device": {
3226
+ enum3 = 36;
3227
+ break;
3228
+ }
3229
+ default: {
3230
+ if (e instanceof Error) {
3231
+ console.error(e);
3232
+ }
3233
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
3234
+ }
3235
+ }
3236
+ dataView(memory0).setInt8(arg1 + 8, enum3, true);
3237
+ break;
3238
+ }
3239
+ default: {
3240
+ throw new TypeError("invalid variant specified for result");
3241
+ }
3242
+ }
3243
+ }
3244
+ function trampoline28(arg0, arg1, arg2, arg3, arg4) {
3245
+ var handle1 = arg0;
3246
+ var rsc0 = handleTable3.get(handle1).rep;
3247
+ if ((arg1 & 4294967294) !== 0) {
3248
+ throw new TypeError("flags have extraneous bits set");
3249
+ }
3250
+ var flags2 = {
3251
+ symlinkFollow: Boolean(arg1 & 1)
3252
+ };
3253
+ var ptr3 = arg2;
3254
+ var len3 = arg3;
3255
+ var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
3256
+ let ret;
3257
+ try {
3258
+ ret = { tag: "ok", val: Descriptor2.prototype.metadataHashAt.call(rsc0, flags2, result3) };
3259
+ } catch (e) {
3260
+ ret = { tag: "err", val: getErrorPayload(e) };
3261
+ }
3262
+ var variant6 = ret;
3263
+ switch (variant6.tag) {
3264
+ case "ok": {
3265
+ const e = variant6.val;
3266
+ dataView(memory0).setInt8(arg4 + 0, 0, true);
3267
+ var { lower: v4_0, upper: v4_1 } = e;
3268
+ dataView(memory0).setBigInt64(arg4 + 8, toUint64(v4_0), true);
3269
+ dataView(memory0).setBigInt64(arg4 + 16, toUint64(v4_1), true);
3270
+ break;
3271
+ }
3272
+ case "err": {
3273
+ const e = variant6.val;
3274
+ dataView(memory0).setInt8(arg4 + 0, 1, true);
3275
+ var val5 = e;
3276
+ let enum5;
3277
+ switch (val5) {
3278
+ case "access": {
3279
+ enum5 = 0;
3280
+ break;
3281
+ }
3282
+ case "would-block": {
3283
+ enum5 = 1;
3284
+ break;
3285
+ }
3286
+ case "already": {
3287
+ enum5 = 2;
3288
+ break;
3289
+ }
3290
+ case "bad-descriptor": {
3291
+ enum5 = 3;
3292
+ break;
3293
+ }
3294
+ case "busy": {
3295
+ enum5 = 4;
3296
+ break;
3297
+ }
3298
+ case "deadlock": {
3299
+ enum5 = 5;
3300
+ break;
3301
+ }
3302
+ case "quota": {
3303
+ enum5 = 6;
3304
+ break;
3305
+ }
3306
+ case "exist": {
3307
+ enum5 = 7;
3308
+ break;
3309
+ }
3310
+ case "file-too-large": {
3311
+ enum5 = 8;
3312
+ break;
3313
+ }
3314
+ case "illegal-byte-sequence": {
3315
+ enum5 = 9;
3316
+ break;
3317
+ }
3318
+ case "in-progress": {
3319
+ enum5 = 10;
3320
+ break;
3321
+ }
3322
+ case "interrupted": {
3323
+ enum5 = 11;
3324
+ break;
3325
+ }
3326
+ case "invalid": {
3327
+ enum5 = 12;
3328
+ break;
3329
+ }
3330
+ case "io": {
3331
+ enum5 = 13;
3332
+ break;
3333
+ }
3334
+ case "is-directory": {
3335
+ enum5 = 14;
3336
+ break;
3337
+ }
3338
+ case "loop": {
3339
+ enum5 = 15;
3340
+ break;
3341
+ }
3342
+ case "too-many-links": {
3343
+ enum5 = 16;
3344
+ break;
3345
+ }
3346
+ case "message-size": {
3347
+ enum5 = 17;
3348
+ break;
3349
+ }
3350
+ case "name-too-long": {
3351
+ enum5 = 18;
3352
+ break;
3353
+ }
3354
+ case "no-device": {
3355
+ enum5 = 19;
3356
+ break;
3357
+ }
3358
+ case "no-entry": {
3359
+ enum5 = 20;
3360
+ break;
3361
+ }
3362
+ case "no-lock": {
3363
+ enum5 = 21;
3364
+ break;
3365
+ }
3366
+ case "insufficient-memory": {
3367
+ enum5 = 22;
3368
+ break;
3369
+ }
3370
+ case "insufficient-space": {
3371
+ enum5 = 23;
3372
+ break;
3373
+ }
3374
+ case "not-directory": {
3375
+ enum5 = 24;
3376
+ break;
3377
+ }
3378
+ case "not-empty": {
3379
+ enum5 = 25;
3380
+ break;
3381
+ }
3382
+ case "not-recoverable": {
3383
+ enum5 = 26;
3384
+ break;
3385
+ }
3386
+ case "unsupported": {
3387
+ enum5 = 27;
3388
+ break;
3389
+ }
3390
+ case "no-tty": {
3391
+ enum5 = 28;
3392
+ break;
3393
+ }
3394
+ case "no-such-device": {
3395
+ enum5 = 29;
3396
+ break;
3397
+ }
3398
+ case "overflow": {
3399
+ enum5 = 30;
3400
+ break;
3401
+ }
3402
+ case "not-permitted": {
3403
+ enum5 = 31;
3404
+ break;
3405
+ }
3406
+ case "pipe": {
3407
+ enum5 = 32;
3408
+ break;
3409
+ }
3410
+ case "read-only": {
3411
+ enum5 = 33;
3412
+ break;
3413
+ }
3414
+ case "invalid-seek": {
3415
+ enum5 = 34;
3416
+ break;
3417
+ }
3418
+ case "text-file-busy": {
3419
+ enum5 = 35;
3420
+ break;
3421
+ }
3422
+ case "cross-device": {
3423
+ enum5 = 36;
3424
+ break;
3425
+ }
3426
+ default: {
3427
+ if (e instanceof Error) {
3428
+ console.error(e);
3429
+ }
3430
+ throw new TypeError(`"${val5}" is not one of the cases of error-code`);
3431
+ }
3432
+ }
3433
+ dataView(memory0).setInt8(arg4 + 8, enum5, true);
3434
+ break;
3435
+ }
3436
+ default: {
3437
+ throw new TypeError("invalid variant specified for result");
3438
+ }
3439
+ }
3440
+ }
3441
+ function trampoline29(arg0, arg1) {
3442
+ var handle1 = arg0;
3443
+ var rsc0 = handleTable4.get(handle1).rep;
3444
+ let ret;
3445
+ try {
3446
+ ret = { tag: "ok", val: DirectoryEntryStream2.prototype.readDirectoryEntry.call(rsc0) };
3447
+ } catch (e) {
3448
+ ret = { tag: "err", val: getErrorPayload(e) };
3449
+ }
3450
+ var variant7 = ret;
3451
+ switch (variant7.tag) {
3452
+ case "ok": {
3453
+ const e = variant7.val;
3454
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
3455
+ var variant5 = e;
3456
+ if (variant5 === null || variant5 === void 0) {
3457
+ dataView(memory0).setInt8(arg1 + 4, 0, true);
3458
+ } else {
3459
+ const e2 = variant5;
3460
+ dataView(memory0).setInt8(arg1 + 4, 1, true);
3461
+ var { type: v2_0, name: v2_1 } = e2;
3462
+ var val3 = v2_0;
3463
+ let enum3;
3464
+ switch (val3) {
3465
+ case "unknown": {
3466
+ enum3 = 0;
3467
+ break;
3468
+ }
3469
+ case "block-device": {
3470
+ enum3 = 1;
3471
+ break;
3472
+ }
3473
+ case "character-device": {
3474
+ enum3 = 2;
3475
+ break;
3476
+ }
3477
+ case "directory": {
3478
+ enum3 = 3;
3479
+ break;
3480
+ }
3481
+ case "fifo": {
3482
+ enum3 = 4;
3483
+ break;
3484
+ }
3485
+ case "symbolic-link": {
3486
+ enum3 = 5;
3487
+ break;
3488
+ }
3489
+ case "regular-file": {
3490
+ enum3 = 6;
3491
+ break;
3492
+ }
3493
+ case "socket": {
3494
+ enum3 = 7;
3495
+ break;
3496
+ }
3497
+ default: {
3498
+ if (v2_0 instanceof Error) {
3499
+ console.error(v2_0);
3500
+ }
3501
+ throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`);
3502
+ }
3503
+ }
3504
+ dataView(memory0).setInt8(arg1 + 8, enum3, true);
3505
+ var ptr4 = utf8Encode(v2_1, realloc0, memory0);
3506
+ var len4 = utf8EncodedLen;
3507
+ dataView(memory0).setInt32(arg1 + 16, len4, true);
3508
+ dataView(memory0).setInt32(arg1 + 12, ptr4, true);
3509
+ }
3510
+ break;
3511
+ }
3512
+ case "err": {
3513
+ const e = variant7.val;
3514
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
3515
+ var val6 = e;
3516
+ let enum6;
3517
+ switch (val6) {
3518
+ case "access": {
3519
+ enum6 = 0;
3520
+ break;
3521
+ }
3522
+ case "would-block": {
3523
+ enum6 = 1;
3524
+ break;
3525
+ }
3526
+ case "already": {
3527
+ enum6 = 2;
3528
+ break;
3529
+ }
3530
+ case "bad-descriptor": {
3531
+ enum6 = 3;
3532
+ break;
3533
+ }
3534
+ case "busy": {
3535
+ enum6 = 4;
3536
+ break;
3537
+ }
3538
+ case "deadlock": {
3539
+ enum6 = 5;
3540
+ break;
3541
+ }
3542
+ case "quota": {
3543
+ enum6 = 6;
3544
+ break;
3545
+ }
3546
+ case "exist": {
3547
+ enum6 = 7;
3548
+ break;
3549
+ }
3550
+ case "file-too-large": {
3551
+ enum6 = 8;
3552
+ break;
3553
+ }
3554
+ case "illegal-byte-sequence": {
3555
+ enum6 = 9;
3556
+ break;
3557
+ }
3558
+ case "in-progress": {
3559
+ enum6 = 10;
3560
+ break;
3561
+ }
3562
+ case "interrupted": {
3563
+ enum6 = 11;
3564
+ break;
3565
+ }
3566
+ case "invalid": {
3567
+ enum6 = 12;
3568
+ break;
3569
+ }
3570
+ case "io": {
3571
+ enum6 = 13;
3572
+ break;
3573
+ }
3574
+ case "is-directory": {
3575
+ enum6 = 14;
3576
+ break;
3577
+ }
3578
+ case "loop": {
3579
+ enum6 = 15;
3580
+ break;
3581
+ }
3582
+ case "too-many-links": {
3583
+ enum6 = 16;
3584
+ break;
3585
+ }
3586
+ case "message-size": {
3587
+ enum6 = 17;
3588
+ break;
3589
+ }
3590
+ case "name-too-long": {
3591
+ enum6 = 18;
3592
+ break;
3593
+ }
3594
+ case "no-device": {
3595
+ enum6 = 19;
3596
+ break;
3597
+ }
3598
+ case "no-entry": {
3599
+ enum6 = 20;
3600
+ break;
3601
+ }
3602
+ case "no-lock": {
3603
+ enum6 = 21;
3604
+ break;
3605
+ }
3606
+ case "insufficient-memory": {
3607
+ enum6 = 22;
3608
+ break;
3609
+ }
3610
+ case "insufficient-space": {
3611
+ enum6 = 23;
3612
+ break;
3613
+ }
3614
+ case "not-directory": {
3615
+ enum6 = 24;
3616
+ break;
3617
+ }
3618
+ case "not-empty": {
3619
+ enum6 = 25;
3620
+ break;
3621
+ }
3622
+ case "not-recoverable": {
3623
+ enum6 = 26;
3624
+ break;
3625
+ }
3626
+ case "unsupported": {
3627
+ enum6 = 27;
3628
+ break;
3629
+ }
3630
+ case "no-tty": {
3631
+ enum6 = 28;
3632
+ break;
3633
+ }
3634
+ case "no-such-device": {
3635
+ enum6 = 29;
3636
+ break;
3637
+ }
3638
+ case "overflow": {
3639
+ enum6 = 30;
3640
+ break;
3641
+ }
3642
+ case "not-permitted": {
3643
+ enum6 = 31;
3644
+ break;
3645
+ }
3646
+ case "pipe": {
3647
+ enum6 = 32;
3648
+ break;
3649
+ }
3650
+ case "read-only": {
3651
+ enum6 = 33;
3652
+ break;
3653
+ }
3654
+ case "invalid-seek": {
3655
+ enum6 = 34;
3656
+ break;
3657
+ }
3658
+ case "text-file-busy": {
3659
+ enum6 = 35;
3660
+ break;
3661
+ }
3662
+ case "cross-device": {
3663
+ enum6 = 36;
3664
+ break;
3665
+ }
3666
+ default: {
3667
+ if (e instanceof Error) {
3668
+ console.error(e);
3669
+ }
3670
+ throw new TypeError(`"${val6}" is not one of the cases of error-code`);
3671
+ }
3672
+ }
3673
+ dataView(memory0).setInt8(arg1 + 4, enum6, true);
3674
+ break;
3675
+ }
3676
+ default: {
3677
+ throw new TypeError("invalid variant specified for result");
3678
+ }
3679
+ }
3680
+ }
3681
+ function trampoline30(arg0, arg1) {
3682
+ var handle1 = arg0;
3683
+ var rsc0 = handleTable0.get(handle1).rep;
3684
+ const ret = filesystemErrorCode(rsc0);
3685
+ var variant3 = ret;
3686
+ if (variant3 === null || variant3 === void 0) {
3687
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
3688
+ } else {
3689
+ const e = variant3;
3690
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
3691
+ var val2 = e;
3692
+ let enum2;
3693
+ switch (val2) {
3694
+ case "access": {
3695
+ enum2 = 0;
3696
+ break;
3697
+ }
3698
+ case "would-block": {
3699
+ enum2 = 1;
3700
+ break;
3701
+ }
3702
+ case "already": {
3703
+ enum2 = 2;
3704
+ break;
3705
+ }
3706
+ case "bad-descriptor": {
3707
+ enum2 = 3;
3708
+ break;
3709
+ }
3710
+ case "busy": {
3711
+ enum2 = 4;
3712
+ break;
3713
+ }
3714
+ case "deadlock": {
3715
+ enum2 = 5;
3716
+ break;
3717
+ }
3718
+ case "quota": {
3719
+ enum2 = 6;
3720
+ break;
3721
+ }
3722
+ case "exist": {
3723
+ enum2 = 7;
3724
+ break;
3725
+ }
3726
+ case "file-too-large": {
3727
+ enum2 = 8;
3728
+ break;
3729
+ }
3730
+ case "illegal-byte-sequence": {
3731
+ enum2 = 9;
3732
+ break;
3733
+ }
3734
+ case "in-progress": {
3735
+ enum2 = 10;
3736
+ break;
3737
+ }
3738
+ case "interrupted": {
3739
+ enum2 = 11;
3740
+ break;
3741
+ }
3742
+ case "invalid": {
3743
+ enum2 = 12;
3744
+ break;
3745
+ }
3746
+ case "io": {
3747
+ enum2 = 13;
3748
+ break;
3749
+ }
3750
+ case "is-directory": {
3751
+ enum2 = 14;
3752
+ break;
3753
+ }
3754
+ case "loop": {
3755
+ enum2 = 15;
3756
+ break;
3757
+ }
3758
+ case "too-many-links": {
3759
+ enum2 = 16;
3760
+ break;
3761
+ }
3762
+ case "message-size": {
3763
+ enum2 = 17;
3764
+ break;
3765
+ }
3766
+ case "name-too-long": {
3767
+ enum2 = 18;
3768
+ break;
3769
+ }
3770
+ case "no-device": {
3771
+ enum2 = 19;
3772
+ break;
3773
+ }
3774
+ case "no-entry": {
3775
+ enum2 = 20;
3776
+ break;
3777
+ }
3778
+ case "no-lock": {
3779
+ enum2 = 21;
3780
+ break;
3781
+ }
3782
+ case "insufficient-memory": {
3783
+ enum2 = 22;
3784
+ break;
3785
+ }
3786
+ case "insufficient-space": {
3787
+ enum2 = 23;
3788
+ break;
3789
+ }
3790
+ case "not-directory": {
3791
+ enum2 = 24;
3792
+ break;
3793
+ }
3794
+ case "not-empty": {
3795
+ enum2 = 25;
3796
+ break;
3797
+ }
3798
+ case "not-recoverable": {
3799
+ enum2 = 26;
3800
+ break;
3801
+ }
3802
+ case "unsupported": {
3803
+ enum2 = 27;
3804
+ break;
3805
+ }
3806
+ case "no-tty": {
3807
+ enum2 = 28;
3808
+ break;
3809
+ }
3810
+ case "no-such-device": {
3811
+ enum2 = 29;
3812
+ break;
3813
+ }
3814
+ case "overflow": {
3815
+ enum2 = 30;
3816
+ break;
3817
+ }
3818
+ case "not-permitted": {
3819
+ enum2 = 31;
3820
+ break;
3821
+ }
3822
+ case "pipe": {
3823
+ enum2 = 32;
3824
+ break;
3825
+ }
3826
+ case "read-only": {
3827
+ enum2 = 33;
3828
+ break;
3829
+ }
3830
+ case "invalid-seek": {
3831
+ enum2 = 34;
3832
+ break;
3833
+ }
3834
+ case "text-file-busy": {
3835
+ enum2 = 35;
3836
+ break;
3837
+ }
3838
+ case "cross-device": {
3839
+ enum2 = 36;
3840
+ break;
3841
+ }
3842
+ default: {
3843
+ if (e instanceof Error) {
3844
+ console.error(e);
3845
+ }
3846
+ throw new TypeError(`"${val2}" is not one of the cases of error-code`);
3847
+ }
3848
+ }
3849
+ dataView(memory0).setInt8(arg1 + 1, enum2, true);
3850
+ }
3851
+ }
3852
+ function trampoline31(arg0, arg1, arg2) {
3853
+ var handle1 = arg0;
3854
+ var rsc0 = handleTable1.get(handle1).rep;
3855
+ let ret;
3856
+ try {
3857
+ ret = { tag: "ok", val: InputStream2.prototype.read.call(rsc0, BigInt.asUintN(64, arg1)) };
3858
+ } catch (e) {
3859
+ ret = { tag: "err", val: getErrorPayload(e) };
3860
+ }
3861
+ var variant5 = ret;
3862
+ switch (variant5.tag) {
3863
+ case "ok": {
3864
+ const e = variant5.val;
3865
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
3866
+ var val2 = e;
3867
+ var len2 = val2.byteLength;
3868
+ var ptr2 = realloc0(0, 0, 1, len2 * 1);
3869
+ var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
3870
+ new Uint8Array(memory0.buffer, ptr2, len2 * 1).set(src2);
3871
+ dataView(memory0).setInt32(arg2 + 8, len2, true);
3872
+ dataView(memory0).setInt32(arg2 + 4, ptr2, true);
3873
+ break;
3874
+ }
3875
+ case "err": {
3876
+ const e = variant5.val;
3877
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
3878
+ var variant4 = e;
3879
+ switch (variant4.tag) {
3880
+ case "last-operation-failed": {
3881
+ const e2 = variant4.val;
3882
+ dataView(memory0).setInt8(arg2 + 4, 0, true);
3883
+ if (!(e2 instanceof Error$1)) {
3884
+ throw new Error('Resource error: Not a valid "Error" resource.');
3885
+ }
3886
+ var handle3 = handleCnt0++;
3887
+ handleTable0.set(handle3, { rep: e2, own: true });
3888
+ dataView(memory0).setInt32(arg2 + 8, handle3, true);
3889
+ break;
3890
+ }
3891
+ case "closed": {
3892
+ dataView(memory0).setInt8(arg2 + 4, 1, true);
3893
+ break;
3894
+ }
3895
+ default: {
3896
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
3897
+ }
3898
+ }
3899
+ break;
3900
+ }
3901
+ default: {
3902
+ throw new TypeError("invalid variant specified for result");
3903
+ }
3904
+ }
3905
+ }
3906
+ function trampoline32(arg0, arg1, arg2) {
3907
+ var handle1 = arg0;
3908
+ var rsc0 = handleTable1.get(handle1).rep;
3909
+ let ret;
3910
+ try {
3911
+ ret = { tag: "ok", val: InputStream2.prototype.blockingRead.call(rsc0, BigInt.asUintN(64, arg1)) };
3912
+ } catch (e) {
3913
+ ret = { tag: "err", val: getErrorPayload(e) };
3914
+ }
3915
+ var variant5 = ret;
3916
+ switch (variant5.tag) {
3917
+ case "ok": {
3918
+ const e = variant5.val;
3919
+ dataView(memory0).setInt8(arg2 + 0, 0, true);
3920
+ var val2 = e;
3921
+ var len2 = val2.byteLength;
3922
+ var ptr2 = realloc0(0, 0, 1, len2 * 1);
3923
+ var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
3924
+ new Uint8Array(memory0.buffer, ptr2, len2 * 1).set(src2);
3925
+ dataView(memory0).setInt32(arg2 + 8, len2, true);
3926
+ dataView(memory0).setInt32(arg2 + 4, ptr2, true);
3927
+ break;
3928
+ }
3929
+ case "err": {
3930
+ const e = variant5.val;
3931
+ dataView(memory0).setInt8(arg2 + 0, 1, true);
3932
+ var variant4 = e;
3933
+ switch (variant4.tag) {
3934
+ case "last-operation-failed": {
3935
+ const e2 = variant4.val;
3936
+ dataView(memory0).setInt8(arg2 + 4, 0, true);
3937
+ if (!(e2 instanceof Error$1)) {
3938
+ throw new Error('Resource error: Not a valid "Error" resource.');
3939
+ }
3940
+ var handle3 = handleCnt0++;
3941
+ handleTable0.set(handle3, { rep: e2, own: true });
3942
+ dataView(memory0).setInt32(arg2 + 8, handle3, true);
3943
+ break;
3944
+ }
3945
+ case "closed": {
3946
+ dataView(memory0).setInt8(arg2 + 4, 1, true);
3947
+ break;
3948
+ }
3949
+ default: {
3950
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
3951
+ }
3952
+ }
3953
+ break;
3954
+ }
3955
+ default: {
3956
+ throw new TypeError("invalid variant specified for result");
3957
+ }
3958
+ }
3959
+ }
3960
+ function trampoline33(arg0, arg1) {
3961
+ var handle1 = arg0;
3962
+ var rsc0 = handleTable2.get(handle1).rep;
3963
+ let ret;
3964
+ try {
3965
+ ret = { tag: "ok", val: OutputStream2.prototype.checkWrite.call(rsc0) };
3966
+ } catch (e) {
3967
+ ret = { tag: "err", val: getErrorPayload(e) };
3968
+ }
3969
+ var variant4 = ret;
3970
+ switch (variant4.tag) {
3971
+ case "ok": {
3972
+ const e = variant4.val;
3973
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
3974
+ dataView(memory0).setBigInt64(arg1 + 8, toUint64(e), true);
3975
+ break;
3976
+ }
3977
+ case "err": {
3978
+ const e = variant4.val;
3979
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
3980
+ var variant3 = e;
3981
+ switch (variant3.tag) {
3982
+ case "last-operation-failed": {
3983
+ const e2 = variant3.val;
3984
+ dataView(memory0).setInt8(arg1 + 8, 0, true);
3985
+ if (!(e2 instanceof Error$1)) {
3986
+ throw new Error('Resource error: Not a valid "Error" resource.');
3987
+ }
3988
+ var handle2 = handleCnt0++;
3989
+ handleTable0.set(handle2, { rep: e2, own: true });
3990
+ dataView(memory0).setInt32(arg1 + 12, handle2, true);
3991
+ break;
3992
+ }
3993
+ case "closed": {
3994
+ dataView(memory0).setInt8(arg1 + 8, 1, true);
3995
+ break;
3996
+ }
3997
+ default: {
3998
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
3999
+ }
4000
+ }
4001
+ break;
4002
+ }
4003
+ default: {
4004
+ throw new TypeError("invalid variant specified for result");
4005
+ }
4006
+ }
4007
+ }
4008
+ function trampoline34(arg0, arg1, arg2, arg3) {
4009
+ var handle1 = arg0;
4010
+ var rsc0 = handleTable2.get(handle1).rep;
4011
+ var ptr2 = arg1;
4012
+ var len2 = arg2;
4013
+ var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
4014
+ let ret;
4015
+ try {
4016
+ ret = { tag: "ok", val: OutputStream2.prototype.write.call(rsc0, result2) };
4017
+ } catch (e) {
4018
+ ret = { tag: "err", val: getErrorPayload(e) };
4019
+ }
4020
+ var variant5 = ret;
4021
+ switch (variant5.tag) {
4022
+ case "ok": {
4023
+ const e = variant5.val;
4024
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
4025
+ break;
4026
+ }
4027
+ case "err": {
4028
+ const e = variant5.val;
4029
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
4030
+ var variant4 = e;
4031
+ switch (variant4.tag) {
4032
+ case "last-operation-failed": {
4033
+ const e2 = variant4.val;
4034
+ dataView(memory0).setInt8(arg3 + 4, 0, true);
4035
+ if (!(e2 instanceof Error$1)) {
4036
+ throw new Error('Resource error: Not a valid "Error" resource.');
4037
+ }
4038
+ var handle3 = handleCnt0++;
4039
+ handleTable0.set(handle3, { rep: e2, own: true });
4040
+ dataView(memory0).setInt32(arg3 + 8, handle3, true);
4041
+ break;
4042
+ }
4043
+ case "closed": {
4044
+ dataView(memory0).setInt8(arg3 + 4, 1, true);
4045
+ break;
4046
+ }
4047
+ default: {
4048
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
4049
+ }
4050
+ }
4051
+ break;
4052
+ }
4053
+ default: {
4054
+ throw new TypeError("invalid variant specified for result");
4055
+ }
4056
+ }
4057
+ }
4058
+ function trampoline35(arg0, arg1, arg2, arg3) {
4059
+ var handle1 = arg0;
4060
+ var rsc0 = handleTable2.get(handle1).rep;
4061
+ var ptr2 = arg1;
4062
+ var len2 = arg2;
4063
+ var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
4064
+ let ret;
4065
+ try {
4066
+ ret = { tag: "ok", val: OutputStream2.prototype.blockingWriteAndFlush.call(rsc0, result2) };
4067
+ } catch (e) {
4068
+ ret = { tag: "err", val: getErrorPayload(e) };
4069
+ }
4070
+ var variant5 = ret;
4071
+ switch (variant5.tag) {
4072
+ case "ok": {
4073
+ const e = variant5.val;
4074
+ dataView(memory0).setInt8(arg3 + 0, 0, true);
4075
+ break;
4076
+ }
4077
+ case "err": {
4078
+ const e = variant5.val;
4079
+ dataView(memory0).setInt8(arg3 + 0, 1, true);
4080
+ var variant4 = e;
4081
+ switch (variant4.tag) {
4082
+ case "last-operation-failed": {
4083
+ const e2 = variant4.val;
4084
+ dataView(memory0).setInt8(arg3 + 4, 0, true);
4085
+ if (!(e2 instanceof Error$1)) {
4086
+ throw new Error('Resource error: Not a valid "Error" resource.');
4087
+ }
4088
+ var handle3 = handleCnt0++;
4089
+ handleTable0.set(handle3, { rep: e2, own: true });
4090
+ dataView(memory0).setInt32(arg3 + 8, handle3, true);
4091
+ break;
4092
+ }
4093
+ case "closed": {
4094
+ dataView(memory0).setInt8(arg3 + 4, 1, true);
4095
+ break;
4096
+ }
4097
+ default: {
4098
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
4099
+ }
4100
+ }
4101
+ break;
4102
+ }
4103
+ default: {
4104
+ throw new TypeError("invalid variant specified for result");
4105
+ }
4106
+ }
4107
+ }
4108
+ function trampoline36(arg0, arg1) {
4109
+ var handle1 = arg0;
4110
+ var rsc0 = handleTable2.get(handle1).rep;
4111
+ let ret;
4112
+ try {
4113
+ ret = { tag: "ok", val: OutputStream2.prototype.blockingFlush.call(rsc0) };
4114
+ } catch (e) {
4115
+ ret = { tag: "err", val: getErrorPayload(e) };
4116
+ }
4117
+ var variant4 = ret;
4118
+ switch (variant4.tag) {
4119
+ case "ok": {
4120
+ const e = variant4.val;
4121
+ dataView(memory0).setInt8(arg1 + 0, 0, true);
4122
+ break;
4123
+ }
4124
+ case "err": {
4125
+ const e = variant4.val;
4126
+ dataView(memory0).setInt8(arg1 + 0, 1, true);
4127
+ var variant3 = e;
4128
+ switch (variant3.tag) {
4129
+ case "last-operation-failed": {
4130
+ const e2 = variant3.val;
4131
+ dataView(memory0).setInt8(arg1 + 4, 0, true);
4132
+ if (!(e2 instanceof Error$1)) {
4133
+ throw new Error('Resource error: Not a valid "Error" resource.');
4134
+ }
4135
+ var handle2 = handleCnt0++;
4136
+ handleTable0.set(handle2, { rep: e2, own: true });
4137
+ dataView(memory0).setInt32(arg1 + 8, handle2, true);
4138
+ break;
4139
+ }
4140
+ case "closed": {
4141
+ dataView(memory0).setInt8(arg1 + 4, 1, true);
4142
+ break;
4143
+ }
4144
+ default: {
4145
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
4146
+ }
4147
+ }
4148
+ break;
4149
+ }
4150
+ default: {
4151
+ throw new TypeError("invalid variant specified for result");
4152
+ }
4153
+ }
4154
+ }
4155
+ function trampoline37(arg0) {
4156
+ const ret = getEnvironment();
4157
+ var vec3 = ret;
4158
+ var len3 = vec3.length;
4159
+ var result3 = realloc0(0, 0, 4, len3 * 16);
4160
+ for (let i = 0; i < vec3.length; i++) {
4161
+ const e = vec3[i];
4162
+ const base = result3 + i * 16;
4163
+ var [tuple0_0, tuple0_1] = e;
4164
+ var ptr1 = utf8Encode(tuple0_0, realloc0, memory0);
4165
+ var len1 = utf8EncodedLen;
4166
+ dataView(memory0).setInt32(base + 4, len1, true);
4167
+ dataView(memory0).setInt32(base + 0, ptr1, true);
4168
+ var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
4169
+ var len2 = utf8EncodedLen;
4170
+ dataView(memory0).setInt32(base + 12, len2, true);
4171
+ dataView(memory0).setInt32(base + 8, ptr2, true);
4172
+ }
4173
+ dataView(memory0).setInt32(arg0 + 4, len3, true);
4174
+ dataView(memory0).setInt32(arg0 + 0, result3, true);
4175
+ }
4176
+ function trampoline38(arg0) {
4177
+ const ret = getArguments();
4178
+ var vec1 = ret;
4179
+ var len1 = vec1.length;
4180
+ var result1 = realloc0(0, 0, 4, len1 * 8);
4181
+ for (let i = 0; i < vec1.length; i++) {
4182
+ const e = vec1[i];
4183
+ const base = result1 + i * 8;
4184
+ var ptr0 = utf8Encode(e, realloc0, memory0);
4185
+ var len0 = utf8EncodedLen;
4186
+ dataView(memory0).setInt32(base + 4, len0, true);
4187
+ dataView(memory0).setInt32(base + 0, ptr0, true);
4188
+ }
4189
+ dataView(memory0).setInt32(arg0 + 4, len1, true);
4190
+ dataView(memory0).setInt32(arg0 + 0, result1, true);
4191
+ }
4192
+ function trampoline39(arg0) {
4193
+ const ret = getTerminalStdin();
4194
+ var variant1 = ret;
4195
+ if (variant1 === null || variant1 === void 0) {
4196
+ dataView(memory0).setInt8(arg0 + 0, 0, true);
4197
+ } else {
4198
+ const e = variant1;
4199
+ dataView(memory0).setInt8(arg0 + 0, 1, true);
4200
+ if (!(e instanceof TerminalInput2)) {
4201
+ throw new Error('Resource error: Not a valid "TerminalInput" resource.');
4202
+ }
4203
+ var handle0 = handleCnt6++;
4204
+ handleTable6.set(handle0, { rep: e, own: true });
4205
+ dataView(memory0).setInt32(arg0 + 4, handle0, true);
4206
+ }
4207
+ }
4208
+ function trampoline40(arg0) {
4209
+ const ret = getTerminalStdout();
4210
+ var variant1 = ret;
4211
+ if (variant1 === null || variant1 === void 0) {
4212
+ dataView(memory0).setInt8(arg0 + 0, 0, true);
4213
+ } else {
4214
+ const e = variant1;
4215
+ dataView(memory0).setInt8(arg0 + 0, 1, true);
4216
+ if (!(e instanceof TerminalOutput2)) {
4217
+ throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
4218
+ }
4219
+ var handle0 = handleCnt7++;
4220
+ handleTable7.set(handle0, { rep: e, own: true });
4221
+ dataView(memory0).setInt32(arg0 + 4, handle0, true);
4222
+ }
4223
+ }
4224
+ function trampoline41(arg0) {
4225
+ const ret = getTerminalStderr();
4226
+ var variant1 = ret;
4227
+ if (variant1 === null || variant1 === void 0) {
4228
+ dataView(memory0).setInt8(arg0 + 0, 0, true);
4229
+ } else {
4230
+ const e = variant1;
4231
+ dataView(memory0).setInt8(arg0 + 0, 1, true);
4232
+ if (!(e instanceof TerminalOutput2)) {
4233
+ throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
4234
+ }
4235
+ var handle0 = handleCnt7++;
4236
+ handleTable7.set(handle0, { rep: e, own: true });
4237
+ dataView(memory0).setInt32(arg0 + 4, handle0, true);
4238
+ }
4239
+ }
4240
+ let exports3;
4241
+ function trampoline1(handle) {
4242
+ const handleEntry = handleTable4.get(handle);
4243
+ if (!handleEntry) {
4244
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4245
+ }
4246
+ handleTable4.delete(handle);
4247
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4248
+ handleEntry.rep[symbolDispose]();
4249
+ }
4250
+ }
4251
+ function trampoline2(handle) {
4252
+ const handleEntry = handleTable0.get(handle);
4253
+ if (!handleEntry) {
4254
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4255
+ }
4256
+ handleTable0.delete(handle);
4257
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4258
+ handleEntry.rep[symbolDispose]();
4259
+ }
4260
+ }
4261
+ function trampoline3(handle) {
4262
+ const handleEntry = handleTable1.get(handle);
4263
+ if (!handleEntry) {
4264
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4265
+ }
4266
+ handleTable1.delete(handle);
4267
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4268
+ handleEntry.rep[symbolDispose]();
4269
+ }
4270
+ }
4271
+ function trampoline4(handle) {
4272
+ const handleEntry = handleTable2.get(handle);
4273
+ if (!handleEntry) {
4274
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4275
+ }
4276
+ handleTable2.delete(handle);
4277
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4278
+ handleEntry.rep[symbolDispose]();
4279
+ }
4280
+ }
4281
+ function trampoline5(handle) {
4282
+ const handleEntry = handleTable3.get(handle);
4283
+ if (!handleEntry) {
4284
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4285
+ }
4286
+ handleTable3.delete(handle);
4287
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4288
+ handleEntry.rep[symbolDispose]();
4289
+ }
4290
+ }
4291
+ function trampoline6(handle) {
4292
+ const handleEntry = handleTable5.get(handle);
4293
+ if (!handleEntry) {
4294
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4295
+ }
4296
+ handleTable5.delete(handle);
4297
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4298
+ handleEntry.rep[symbolDispose]();
4299
+ }
4300
+ }
4301
+ function trampoline7(handle) {
4302
+ const handleEntry = handleTable7.get(handle);
4303
+ if (!handleEntry) {
4304
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4305
+ }
4306
+ handleTable7.delete(handle);
4307
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4308
+ handleEntry.rep[symbolDispose]();
4309
+ }
4310
+ }
4311
+ function trampoline8(handle) {
4312
+ const handleEntry = handleTable6.get(handle);
4313
+ if (!handleEntry) {
4314
+ throw new Error(`Resource error: Invalid handle ${handle}`);
4315
+ }
4316
+ handleTable6.delete(handle);
4317
+ if (handleEntry.own && handleEntry.rep[symbolDispose]) {
4318
+ handleEntry.rep[symbolDispose]();
4319
+ }
4320
+ }
4321
+ Promise.all([module0, module1, module2, module3]).catch(() => {
4322
+ });
4323
+ ({ exports: exports0 } = await instantiateCore(await module2));
4324
+ ({ exports: exports1 } = await instantiateCore(await module0, {
4325
+ wasi_snapshot_preview1: {
4326
+ args_get: exports0["29"],
4327
+ args_sizes_get: exports0["30"],
4328
+ clock_time_get: exports0["33"],
4329
+ environ_get: exports0["31"],
4330
+ environ_sizes_get: exports0["32"],
4331
+ fd_close: exports0["34"],
4332
+ fd_fdstat_get: exports0["35"],
4333
+ fd_fdstat_set_flags: exports0["36"],
4334
+ fd_prestat_dir_name: exports0["38"],
4335
+ fd_prestat_get: exports0["37"],
4336
+ fd_read: exports0["39"],
4337
+ fd_readdir: exports0["40"],
4338
+ fd_renumber: exports0["41"],
4339
+ fd_seek: exports0["42"],
4340
+ fd_write: exports0["43"],
4341
+ path_create_directory: exports0["44"],
4342
+ path_filestat_get: exports0["45"],
4343
+ path_open: exports0["46"],
4344
+ path_remove_directory: exports0["47"],
4345
+ path_unlink_file: exports0["48"],
4346
+ proc_exit: exports0["49"]
4347
+ }
4348
+ }));
4349
+ ({ exports: exports2 } = await instantiateCore(await module1, {
4350
+ __main_module__: {
4351
+ _start: exports1._start
4352
+ },
4353
+ env: {
4354
+ memory: exports1.memory
4355
+ },
4356
+ "wasi:cli/environment@0.2.0-rc-2023-11-10": {
4357
+ "get-arguments": exports0["25"],
4358
+ "get-environment": exports0["24"]
4359
+ },
4360
+ "wasi:cli/exit@0.2.0-rc-2023-11-10": {
4361
+ exit: trampoline10
4362
+ },
4363
+ "wasi:cli/stderr@0.2.0-rc-2023-11-10": {
4364
+ "get-stderr": trampoline9
4365
+ },
4366
+ "wasi:cli/stdin@0.2.0-rc-2023-11-10": {
4367
+ "get-stdin": trampoline11
4368
+ },
4369
+ "wasi:cli/stdout@0.2.0-rc-2023-11-10": {
4370
+ "get-stdout": trampoline12
4371
+ },
4372
+ "wasi:cli/terminal-input@0.2.0-rc-2023-11-10": {
4373
+ "[resource-drop]terminal-input": trampoline8
4374
+ },
4375
+ "wasi:cli/terminal-output@0.2.0-rc-2023-11-10": {
4376
+ "[resource-drop]terminal-output": trampoline7
4377
+ },
4378
+ "wasi:cli/terminal-stderr@0.2.0-rc-2023-11-10": {
4379
+ "get-terminal-stderr": exports0["28"]
4380
+ },
4381
+ "wasi:cli/terminal-stdin@0.2.0-rc-2023-11-10": {
4382
+ "get-terminal-stdin": exports0["26"]
4383
+ },
4384
+ "wasi:cli/terminal-stdout@0.2.0-rc-2023-11-10": {
4385
+ "get-terminal-stdout": exports0["27"]
4386
+ },
4387
+ "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10": {
4388
+ now: trampoline0
4389
+ },
4390
+ "wasi:clocks/wall-clock@0.2.0-rc-2023-11-10": {
4391
+ now: exports0["1"]
4392
+ },
4393
+ "wasi:filesystem/preopens@0.2.0-rc-2023-11-10": {
4394
+ "get-directories": exports0["0"]
4395
+ },
4396
+ "wasi:filesystem/types@0.2.0-rc-2023-11-10": {
4397
+ "[method]descriptor.append-via-stream": exports0["4"],
4398
+ "[method]descriptor.create-directory-at": exports0["8"],
4399
+ "[method]descriptor.get-flags": exports0["5"],
4400
+ "[method]descriptor.get-type": exports0["6"],
4401
+ "[method]descriptor.metadata-hash": exports0["14"],
4402
+ "[method]descriptor.metadata-hash-at": exports0["15"],
4403
+ "[method]descriptor.open-at": exports0["11"],
4404
+ "[method]descriptor.read-directory": exports0["7"],
4405
+ "[method]descriptor.read-via-stream": exports0["2"],
4406
+ "[method]descriptor.remove-directory-at": exports0["12"],
4407
+ "[method]descriptor.stat": exports0["9"],
4408
+ "[method]descriptor.stat-at": exports0["10"],
4409
+ "[method]descriptor.unlink-file-at": exports0["13"],
4410
+ "[method]descriptor.write-via-stream": exports0["3"],
4411
+ "[method]directory-entry-stream.read-directory-entry": exports0["16"],
4412
+ "[resource-drop]descriptor": trampoline5,
4413
+ "[resource-drop]directory-entry-stream": trampoline1,
4414
+ "filesystem-error-code": exports0["17"]
4415
+ },
4416
+ "wasi:io/error@0.2.0-rc-2023-11-10": {
4417
+ "[resource-drop]error": trampoline2
4418
+ },
4419
+ "wasi:io/streams@0.2.0-rc-2023-11-10": {
4420
+ "[method]input-stream.blocking-read": exports0["19"],
4421
+ "[method]input-stream.read": exports0["18"],
4422
+ "[method]output-stream.blocking-flush": exports0["23"],
4423
+ "[method]output-stream.blocking-write-and-flush": exports0["22"],
4424
+ "[method]output-stream.check-write": exports0["20"],
4425
+ "[method]output-stream.write": exports0["21"],
4426
+ "[resource-drop]input-stream": trampoline3,
4427
+ "[resource-drop]output-stream": trampoline4
4428
+ },
4429
+ "wasi:sockets/tcp@0.2.0-rc-2023-11-10": {
4430
+ "[resource-drop]tcp-socket": trampoline6
4431
+ }
4432
+ }));
4433
+ memory0 = exports1.memory;
4434
+ realloc0 = exports2.cabi_import_realloc;
4435
+ ({ exports: exports3 } = await instantiateCore(await module3, {
4436
+ "": {
4437
+ $imports: exports0.$imports,
4438
+ "0": trampoline13,
4439
+ "1": trampoline14,
4440
+ "10": trampoline23,
4441
+ "11": trampoline24,
4442
+ "12": trampoline25,
4443
+ "13": trampoline26,
4444
+ "14": trampoline27,
4445
+ "15": trampoline28,
4446
+ "16": trampoline29,
4447
+ "17": trampoline30,
4448
+ "18": trampoline31,
4449
+ "19": trampoline32,
4450
+ "2": trampoline15,
4451
+ "20": trampoline33,
4452
+ "21": trampoline34,
4453
+ "22": trampoline35,
4454
+ "23": trampoline36,
4455
+ "24": trampoline37,
4456
+ "25": trampoline38,
4457
+ "26": trampoline39,
4458
+ "27": trampoline40,
4459
+ "28": trampoline41,
4460
+ "29": exports2.args_get,
4461
+ "3": trampoline16,
4462
+ "30": exports2.args_sizes_get,
4463
+ "31": exports2.environ_get,
4464
+ "32": exports2.environ_sizes_get,
4465
+ "33": exports2.clock_time_get,
4466
+ "34": exports2.fd_close,
4467
+ "35": exports2.fd_fdstat_get,
4468
+ "36": exports2.fd_fdstat_set_flags,
4469
+ "37": exports2.fd_prestat_get,
4470
+ "38": exports2.fd_prestat_dir_name,
4471
+ "39": exports2.fd_read,
4472
+ "4": trampoline17,
4473
+ "40": exports2.fd_readdir,
4474
+ "41": exports2.fd_renumber,
4475
+ "42": exports2.fd_seek,
4476
+ "43": exports2.fd_write,
4477
+ "44": exports2.path_create_directory,
4478
+ "45": exports2.path_filestat_get,
4479
+ "46": exports2.path_open,
4480
+ "47": exports2.path_remove_directory,
4481
+ "48": exports2.path_unlink_file,
4482
+ "49": exports2.proc_exit,
4483
+ "5": trampoline18,
4484
+ "6": trampoline19,
4485
+ "7": trampoline20,
4486
+ "8": trampoline21,
4487
+ "9": trampoline22
4488
+ }
4489
+ }));
4490
+ function run() {
4491
+ const ret = exports2["wasi:cli/run@0.2.0-rc-2023-11-10#run"]();
4492
+ let variant0;
4493
+ switch (ret) {
4494
+ case 0: {
4495
+ variant0 = {
4496
+ tag: "ok",
4497
+ val: void 0
4498
+ };
4499
+ break;
4500
+ }
4501
+ case 1: {
4502
+ variant0 = {
4503
+ tag: "err",
4504
+ val: void 0
4505
+ };
4506
+ break;
4507
+ }
4508
+ default: {
4509
+ throw new TypeError("invalid variant discriminant for expected");
4510
+ }
4511
+ }
4512
+ if (variant0.tag === "err") {
4513
+ throw new ComponentError(variant0.val);
4514
+ }
4515
+ return variant0.val;
4516
+ }
4517
+ const handleTable0 = /* @__PURE__ */ new Map();
4518
+ let handleCnt0 = 0;
4519
+ const handleTable1 = /* @__PURE__ */ new Map();
4520
+ let handleCnt1 = 0;
4521
+ const handleTable2 = /* @__PURE__ */ new Map();
4522
+ let handleCnt2 = 0;
4523
+ const handleTable3 = /* @__PURE__ */ new Map();
4524
+ let handleCnt3 = 0;
4525
+ const handleTable4 = /* @__PURE__ */ new Map();
4526
+ let handleCnt4 = 0;
4527
+ const handleTable5 = /* @__PURE__ */ new Map();
4528
+ let handleCnt5 = 0;
4529
+ const handleTable6 = /* @__PURE__ */ new Map();
4530
+ let handleCnt6 = 0;
4531
+ const handleTable7 = /* @__PURE__ */ new Map();
4532
+ let handleCnt7 = 0;
4533
+ const run0_2_0Rc20231110 = {
4534
+ run
4535
+ };
4536
+ return { run: run0_2_0Rc20231110, "wasi:cli/run@0.2.0-rc-2023-11-10": run0_2_0Rc20231110 };
4537
+ }
4538
+
4539
+ // lib/api.js
4540
+ var baseURL = "http://127.0.0.1:8000/gen/bundle-browser.js";
4541
+ console.log("baseURL", baseURL);
4542
+ var yosys = new Application(baseURL, {
4543
+ "share": "./yosys-share.json"
4544
+ }, {
4545
+ "yosys.core.wasm": "./yosys.core.wasm",
4546
+ "yosys.core2.wasm": "./yosys.core2.wasm",
4547
+ "yosys.core3.wasm": "./yosys.core3.wasm",
4548
+ "yosys.core4.wasm": "./yosys.core4.wasm"
4549
+ }, instantiate, "yowasp-yosys");
4550
+ var runYosys = yosys.run.bind(yosys);
4551
+ export {
4552
+ Exit,
4553
+ runYosys
4554
+ };