@bytecodealliance/jco 1.0.1 → 1.0.3

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.
@@ -49,16 +49,49 @@ function getErrorPayload(e) {
49
49
  return e;
50
50
  }
51
51
 
52
+ const handleTables = [];
53
+
52
54
  const hasOwnProperty = Object.prototype.hasOwnProperty;
53
55
 
54
56
  const instantiateCore = WebAssembly.instantiate;
55
57
 
56
- const resourceHandleSymbol = Symbol('resource');
58
+ const T_FLAG = 1 << 30;
59
+
60
+ function rscTableCreateOwn (table, rep) {
61
+ if (rep === 0) throw new Error('Invalid rep');
62
+ const free = table[0] & ~T_FLAG;
63
+ if (free === 0) {
64
+ table.push(0);
65
+ table.push(rep | T_FLAG);
66
+ return (table.length >> 1) - 1;
67
+ }
68
+ table[0] = table[free << 1];
69
+ table[free << 1] = 0;
70
+ table[(free << 1) + 1] = rep | T_FLAG;
71
+ return free;
72
+ }
73
+
74
+ function rscTableRemove (table, handle) {
75
+ const scope = table[handle << 1];
76
+ const val = table[(handle << 1) + 1];
77
+ const own = (val & T_FLAG) !== 0;
78
+ const rep = val & ~T_FLAG;
79
+ if (val === 0 || (scope & T_FLAG) !== 0) throw new Error('Invalid handle');
80
+ table[handle << 1] = table[0] | T_FLAG;
81
+ table[0] = handle | T_FLAG;
82
+ return { rep, scope, own };
83
+ }
84
+
85
+ const symbolCabiDispose = Symbol.for('cabiDispose');
86
+
87
+ const symbolRscHandle = Symbol('handle');
88
+
89
+ const symbolRscRep = Symbol.for('cabiRep');
57
90
 
58
91
  const symbolDispose = Symbol.dispose || Symbol.for('dispose');
59
92
 
60
93
  function throwUninitialized() {
61
- throw new TypeError('Wasm uninitialized use `await $init` first');
94
+ throw new Error('Wasm uninitialized use `await $init` first');
62
95
  }
63
96
 
64
97
  const toUint64 = val => BigInt.asUintN(64, BigInt(val));
@@ -97,17 +130,22 @@ function utf8Encode(s, realloc, memory) {
97
130
  let exports0;
98
131
  let exports1;
99
132
 
100
- function trampoline7() {
133
+ function trampoline5() {
101
134
  const ret = getStderr();
102
135
  if (!(ret instanceof OutputStream)) {
103
136
  throw new Error('Resource error: Not a valid "OutputStream" resource.');
104
137
  }
105
- var handle0 = handleCnt2++;
106
- handleTable2.set(handle0, { rep: ret, own: true });
138
+ var handle0 = ret[symbolRscHandle];
139
+
140
+ if (!handle0) {
141
+ const rep = ret[symbolRscRep] || ++captureCnt2;
142
+ captureTable2.set(rep, ret);
143
+ handle0 = rscTableCreateOwn(handleTable2, rep);
144
+ }
107
145
  return handle0;
108
146
  }
109
147
 
110
- function trampoline8(arg0) {
148
+ function trampoline6(arg0) {
111
149
  let variant0;
112
150
  switch (arg0) {
113
151
  case 0: {
@@ -131,26 +169,38 @@ function trampoline8(arg0) {
131
169
  exit(variant0);
132
170
  }
133
171
 
134
- function trampoline9() {
172
+ function trampoline7() {
135
173
  const ret = getStdin();
136
174
  if (!(ret instanceof InputStream)) {
137
175
  throw new Error('Resource error: Not a valid "InputStream" resource.');
138
176
  }
139
- var handle0 = handleCnt1++;
140
- handleTable1.set(handle0, { rep: ret, own: true });
177
+ var handle0 = ret[symbolRscHandle];
178
+
179
+ if (!handle0) {
180
+ const rep = ret[symbolRscRep] || ++captureCnt1;
181
+ captureTable1.set(rep, ret);
182
+ handle0 = rscTableCreateOwn(handleTable1, rep);
183
+ }
141
184
  return handle0;
142
185
  }
143
186
 
144
- function trampoline10() {
187
+ function trampoline8() {
145
188
  const ret = getStdout();
146
189
  if (!(ret instanceof OutputStream)) {
147
190
  throw new Error('Resource error: Not a valid "OutputStream" resource.');
148
191
  }
149
- var handle0 = handleCnt2++;
150
- handleTable2.set(handle0, { rep: ret, own: true });
192
+ var handle0 = ret[symbolRscHandle];
193
+
194
+ if (!handle0) {
195
+ const rep = ret[symbolRscRep] || ++captureCnt2;
196
+ captureTable2.set(rep, ret);
197
+ handle0 = rscTableCreateOwn(handleTable2, rep);
198
+ }
151
199
  return handle0;
152
200
  }
153
201
  let exports2;
202
+ let memory0;
203
+ let realloc0;
154
204
 
155
205
  function trampoline11(arg0) {
156
206
  const ret = getDirectories();
@@ -163,8 +213,13 @@ function trampoline11(arg0) {
163
213
  if (!(tuple0_0 instanceof Descriptor)) {
164
214
  throw new Error('Resource error: Not a valid "Descriptor" resource.');
165
215
  }
166
- var handle1 = handleCnt5++;
167
- handleTable5.set(handle1, { rep: tuple0_0, own: true });
216
+ var handle1 = tuple0_0[symbolRscHandle];
217
+
218
+ if (!handle1) {
219
+ const rep = tuple0_0[symbolRscRep] || ++captureCnt5;
220
+ captureTable5.set(rep, tuple0_0);
221
+ handle1 = rscTableCreateOwn(handleTable5, rep);
222
+ }
168
223
  dataView(memory0).setInt32(base + 0, handle1, true);
169
224
  var ptr2 = utf8Encode(tuple0_1, realloc0, memory0);
170
225
  var len2 = utf8EncodedLen;
@@ -174,183 +229,193 @@ function trampoline11(arg0) {
174
229
  dataView(memory0).setInt32(arg0 + 4, len3, true);
175
230
  dataView(memory0).setInt32(arg0 + 0, result3, true);
176
231
  }
177
- let memory0;
178
- let realloc0;
179
232
 
180
233
  function trampoline12(arg0, arg1, arg2) {
181
234
  var handle1 = arg0;
182
- var rsc0 = handleTable5.get(handle1).rep;
235
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
236
+ var rsc0 = captureTable5.get(rep2);
237
+ if (!rsc0) {
238
+ rsc0 = Object.create(Descriptor.prototype);
239
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
240
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
241
+ }
183
242
  let ret;
184
243
  try {
185
- ret = { tag: 'ok', val: Descriptor.prototype.readViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
244
+ ret = { tag: 'ok', val: rsc0.readViaStream(BigInt.asUintN(64, arg1))};
186
245
  } catch (e) {
187
246
  ret = { tag: 'err', val: getErrorPayload(e) };
188
247
  }
189
- var variant4 = ret;
190
- switch (variant4.tag) {
248
+ rsc0[symbolRscHandle] = null;
249
+ var variant5 = ret;
250
+ switch (variant5.tag) {
191
251
  case 'ok': {
192
- const e = variant4.val;
252
+ const e = variant5.val;
193
253
  dataView(memory0).setInt8(arg2 + 0, 0, true);
194
254
  if (!(e instanceof InputStream)) {
195
255
  throw new Error('Resource error: Not a valid "InputStream" resource.');
196
256
  }
197
- var handle2 = handleCnt1++;
198
- handleTable1.set(handle2, { rep: e, own: true });
199
- dataView(memory0).setInt32(arg2 + 4, handle2, true);
257
+ var handle3 = e[symbolRscHandle];
258
+
259
+ if (!handle3) {
260
+ const rep = e[symbolRscRep] || ++captureCnt1;
261
+ captureTable1.set(rep, e);
262
+ handle3 = rscTableCreateOwn(handleTable1, rep);
263
+ }
264
+ dataView(memory0).setInt32(arg2 + 4, handle3, true);
200
265
  break;
201
266
  }
202
267
  case 'err': {
203
- const e = variant4.val;
268
+ const e = variant5.val;
204
269
  dataView(memory0).setInt8(arg2 + 0, 1, true);
205
- var val3 = e;
206
- let enum3;
207
- switch (val3) {
270
+ var val4 = e;
271
+ let enum4;
272
+ switch (val4) {
208
273
  case 'access': {
209
- enum3 = 0;
274
+ enum4 = 0;
210
275
  break;
211
276
  }
212
277
  case 'would-block': {
213
- enum3 = 1;
278
+ enum4 = 1;
214
279
  break;
215
280
  }
216
281
  case 'already': {
217
- enum3 = 2;
282
+ enum4 = 2;
218
283
  break;
219
284
  }
220
285
  case 'bad-descriptor': {
221
- enum3 = 3;
286
+ enum4 = 3;
222
287
  break;
223
288
  }
224
289
  case 'busy': {
225
- enum3 = 4;
290
+ enum4 = 4;
226
291
  break;
227
292
  }
228
293
  case 'deadlock': {
229
- enum3 = 5;
294
+ enum4 = 5;
230
295
  break;
231
296
  }
232
297
  case 'quota': {
233
- enum3 = 6;
298
+ enum4 = 6;
234
299
  break;
235
300
  }
236
301
  case 'exist': {
237
- enum3 = 7;
302
+ enum4 = 7;
238
303
  break;
239
304
  }
240
305
  case 'file-too-large': {
241
- enum3 = 8;
306
+ enum4 = 8;
242
307
  break;
243
308
  }
244
309
  case 'illegal-byte-sequence': {
245
- enum3 = 9;
310
+ enum4 = 9;
246
311
  break;
247
312
  }
248
313
  case 'in-progress': {
249
- enum3 = 10;
314
+ enum4 = 10;
250
315
  break;
251
316
  }
252
317
  case 'interrupted': {
253
- enum3 = 11;
318
+ enum4 = 11;
254
319
  break;
255
320
  }
256
321
  case 'invalid': {
257
- enum3 = 12;
322
+ enum4 = 12;
258
323
  break;
259
324
  }
260
325
  case 'io': {
261
- enum3 = 13;
326
+ enum4 = 13;
262
327
  break;
263
328
  }
264
329
  case 'is-directory': {
265
- enum3 = 14;
330
+ enum4 = 14;
266
331
  break;
267
332
  }
268
333
  case 'loop': {
269
- enum3 = 15;
334
+ enum4 = 15;
270
335
  break;
271
336
  }
272
337
  case 'too-many-links': {
273
- enum3 = 16;
338
+ enum4 = 16;
274
339
  break;
275
340
  }
276
341
  case 'message-size': {
277
- enum3 = 17;
342
+ enum4 = 17;
278
343
  break;
279
344
  }
280
345
  case 'name-too-long': {
281
- enum3 = 18;
346
+ enum4 = 18;
282
347
  break;
283
348
  }
284
349
  case 'no-device': {
285
- enum3 = 19;
350
+ enum4 = 19;
286
351
  break;
287
352
  }
288
353
  case 'no-entry': {
289
- enum3 = 20;
354
+ enum4 = 20;
290
355
  break;
291
356
  }
292
357
  case 'no-lock': {
293
- enum3 = 21;
358
+ enum4 = 21;
294
359
  break;
295
360
  }
296
361
  case 'insufficient-memory': {
297
- enum3 = 22;
362
+ enum4 = 22;
298
363
  break;
299
364
  }
300
365
  case 'insufficient-space': {
301
- enum3 = 23;
366
+ enum4 = 23;
302
367
  break;
303
368
  }
304
369
  case 'not-directory': {
305
- enum3 = 24;
370
+ enum4 = 24;
306
371
  break;
307
372
  }
308
373
  case 'not-empty': {
309
- enum3 = 25;
374
+ enum4 = 25;
310
375
  break;
311
376
  }
312
377
  case 'not-recoverable': {
313
- enum3 = 26;
378
+ enum4 = 26;
314
379
  break;
315
380
  }
316
381
  case 'unsupported': {
317
- enum3 = 27;
382
+ enum4 = 27;
318
383
  break;
319
384
  }
320
385
  case 'no-tty': {
321
- enum3 = 28;
386
+ enum4 = 28;
322
387
  break;
323
388
  }
324
389
  case 'no-such-device': {
325
- enum3 = 29;
390
+ enum4 = 29;
326
391
  break;
327
392
  }
328
393
  case 'overflow': {
329
- enum3 = 30;
394
+ enum4 = 30;
330
395
  break;
331
396
  }
332
397
  case 'not-permitted': {
333
- enum3 = 31;
398
+ enum4 = 31;
334
399
  break;
335
400
  }
336
401
  case 'pipe': {
337
- enum3 = 32;
402
+ enum4 = 32;
338
403
  break;
339
404
  }
340
405
  case 'read-only': {
341
- enum3 = 33;
406
+ enum4 = 33;
342
407
  break;
343
408
  }
344
409
  case 'invalid-seek': {
345
- enum3 = 34;
410
+ enum4 = 34;
346
411
  break;
347
412
  }
348
413
  case 'text-file-busy': {
349
- enum3 = 35;
414
+ enum4 = 35;
350
415
  break;
351
416
  }
352
417
  case 'cross-device': {
353
- enum3 = 36;
418
+ enum4 = 36;
354
419
  break;
355
420
  }
356
421
  default: {
@@ -358,10 +423,10 @@ function trampoline12(arg0, arg1, arg2) {
358
423
  console.error(e);
359
424
  }
360
425
 
361
- throw new TypeError(`"${val3}" is not one of the cases of error-code`);
426
+ throw new TypeError(`"${val4}" is not one of the cases of error-code`);
362
427
  }
363
428
  }
364
- dataView(memory0).setInt8(arg2 + 4, enum3, true);
429
+ dataView(memory0).setInt8(arg2 + 4, enum4, true);
365
430
  break;
366
431
  }
367
432
  default: {
@@ -372,178 +437,190 @@ function trampoline12(arg0, arg1, arg2) {
372
437
 
373
438
  function trampoline13(arg0, arg1, arg2) {
374
439
  var handle1 = arg0;
375
- var rsc0 = handleTable5.get(handle1).rep;
440
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
441
+ var rsc0 = captureTable5.get(rep2);
442
+ if (!rsc0) {
443
+ rsc0 = Object.create(Descriptor.prototype);
444
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
445
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
446
+ }
376
447
  let ret;
377
448
  try {
378
- ret = { tag: 'ok', val: Descriptor.prototype.writeViaStream.call(rsc0, BigInt.asUintN(64, arg1)) };
449
+ ret = { tag: 'ok', val: rsc0.writeViaStream(BigInt.asUintN(64, arg1))};
379
450
  } catch (e) {
380
451
  ret = { tag: 'err', val: getErrorPayload(e) };
381
452
  }
382
- var variant4 = ret;
383
- switch (variant4.tag) {
453
+ rsc0[symbolRscHandle] = null;
454
+ var variant5 = ret;
455
+ switch (variant5.tag) {
384
456
  case 'ok': {
385
- const e = variant4.val;
457
+ const e = variant5.val;
386
458
  dataView(memory0).setInt8(arg2 + 0, 0, true);
387
459
  if (!(e instanceof OutputStream)) {
388
460
  throw new Error('Resource error: Not a valid "OutputStream" resource.');
389
461
  }
390
- var handle2 = handleCnt2++;
391
- handleTable2.set(handle2, { rep: e, own: true });
392
- dataView(memory0).setInt32(arg2 + 4, handle2, true);
462
+ var handle3 = e[symbolRscHandle];
463
+
464
+ if (!handle3) {
465
+ const rep = e[symbolRscRep] || ++captureCnt2;
466
+ captureTable2.set(rep, e);
467
+ handle3 = rscTableCreateOwn(handleTable2, rep);
468
+ }
469
+ dataView(memory0).setInt32(arg2 + 4, handle3, true);
393
470
  break;
394
471
  }
395
472
  case 'err': {
396
- const e = variant4.val;
473
+ const e = variant5.val;
397
474
  dataView(memory0).setInt8(arg2 + 0, 1, true);
398
- var val3 = e;
399
- let enum3;
400
- switch (val3) {
475
+ var val4 = e;
476
+ let enum4;
477
+ switch (val4) {
401
478
  case 'access': {
402
- enum3 = 0;
479
+ enum4 = 0;
403
480
  break;
404
481
  }
405
482
  case 'would-block': {
406
- enum3 = 1;
483
+ enum4 = 1;
407
484
  break;
408
485
  }
409
486
  case 'already': {
410
- enum3 = 2;
487
+ enum4 = 2;
411
488
  break;
412
489
  }
413
490
  case 'bad-descriptor': {
414
- enum3 = 3;
491
+ enum4 = 3;
415
492
  break;
416
493
  }
417
494
  case 'busy': {
418
- enum3 = 4;
495
+ enum4 = 4;
419
496
  break;
420
497
  }
421
498
  case 'deadlock': {
422
- enum3 = 5;
499
+ enum4 = 5;
423
500
  break;
424
501
  }
425
502
  case 'quota': {
426
- enum3 = 6;
503
+ enum4 = 6;
427
504
  break;
428
505
  }
429
506
  case 'exist': {
430
- enum3 = 7;
507
+ enum4 = 7;
431
508
  break;
432
509
  }
433
510
  case 'file-too-large': {
434
- enum3 = 8;
511
+ enum4 = 8;
435
512
  break;
436
513
  }
437
514
  case 'illegal-byte-sequence': {
438
- enum3 = 9;
515
+ enum4 = 9;
439
516
  break;
440
517
  }
441
518
  case 'in-progress': {
442
- enum3 = 10;
519
+ enum4 = 10;
443
520
  break;
444
521
  }
445
522
  case 'interrupted': {
446
- enum3 = 11;
523
+ enum4 = 11;
447
524
  break;
448
525
  }
449
526
  case 'invalid': {
450
- enum3 = 12;
527
+ enum4 = 12;
451
528
  break;
452
529
  }
453
530
  case 'io': {
454
- enum3 = 13;
531
+ enum4 = 13;
455
532
  break;
456
533
  }
457
534
  case 'is-directory': {
458
- enum3 = 14;
535
+ enum4 = 14;
459
536
  break;
460
537
  }
461
538
  case 'loop': {
462
- enum3 = 15;
539
+ enum4 = 15;
463
540
  break;
464
541
  }
465
542
  case 'too-many-links': {
466
- enum3 = 16;
543
+ enum4 = 16;
467
544
  break;
468
545
  }
469
546
  case 'message-size': {
470
- enum3 = 17;
547
+ enum4 = 17;
471
548
  break;
472
549
  }
473
550
  case 'name-too-long': {
474
- enum3 = 18;
551
+ enum4 = 18;
475
552
  break;
476
553
  }
477
554
  case 'no-device': {
478
- enum3 = 19;
555
+ enum4 = 19;
479
556
  break;
480
557
  }
481
558
  case 'no-entry': {
482
- enum3 = 20;
559
+ enum4 = 20;
483
560
  break;
484
561
  }
485
562
  case 'no-lock': {
486
- enum3 = 21;
563
+ enum4 = 21;
487
564
  break;
488
565
  }
489
566
  case 'insufficient-memory': {
490
- enum3 = 22;
567
+ enum4 = 22;
491
568
  break;
492
569
  }
493
570
  case 'insufficient-space': {
494
- enum3 = 23;
571
+ enum4 = 23;
495
572
  break;
496
573
  }
497
574
  case 'not-directory': {
498
- enum3 = 24;
575
+ enum4 = 24;
499
576
  break;
500
577
  }
501
578
  case 'not-empty': {
502
- enum3 = 25;
579
+ enum4 = 25;
503
580
  break;
504
581
  }
505
582
  case 'not-recoverable': {
506
- enum3 = 26;
583
+ enum4 = 26;
507
584
  break;
508
585
  }
509
586
  case 'unsupported': {
510
- enum3 = 27;
587
+ enum4 = 27;
511
588
  break;
512
589
  }
513
590
  case 'no-tty': {
514
- enum3 = 28;
591
+ enum4 = 28;
515
592
  break;
516
593
  }
517
594
  case 'no-such-device': {
518
- enum3 = 29;
595
+ enum4 = 29;
519
596
  break;
520
597
  }
521
598
  case 'overflow': {
522
- enum3 = 30;
599
+ enum4 = 30;
523
600
  break;
524
601
  }
525
602
  case 'not-permitted': {
526
- enum3 = 31;
603
+ enum4 = 31;
527
604
  break;
528
605
  }
529
606
  case 'pipe': {
530
- enum3 = 32;
607
+ enum4 = 32;
531
608
  break;
532
609
  }
533
610
  case 'read-only': {
534
- enum3 = 33;
611
+ enum4 = 33;
535
612
  break;
536
613
  }
537
614
  case 'invalid-seek': {
538
- enum3 = 34;
615
+ enum4 = 34;
539
616
  break;
540
617
  }
541
618
  case 'text-file-busy': {
542
- enum3 = 35;
619
+ enum4 = 35;
543
620
  break;
544
621
  }
545
622
  case 'cross-device': {
546
- enum3 = 36;
623
+ enum4 = 36;
547
624
  break;
548
625
  }
549
626
  default: {
@@ -551,10 +628,10 @@ function trampoline13(arg0, arg1, arg2) {
551
628
  console.error(e);
552
629
  }
553
630
 
554
- throw new TypeError(`"${val3}" is not one of the cases of error-code`);
631
+ throw new TypeError(`"${val4}" is not one of the cases of error-code`);
555
632
  }
556
633
  }
557
- dataView(memory0).setInt8(arg2 + 4, enum3, true);
634
+ dataView(memory0).setInt8(arg2 + 4, enum4, true);
558
635
  break;
559
636
  }
560
637
  default: {
@@ -565,178 +642,190 @@ function trampoline13(arg0, arg1, arg2) {
565
642
 
566
643
  function trampoline14(arg0, arg1) {
567
644
  var handle1 = arg0;
568
- var rsc0 = handleTable5.get(handle1).rep;
645
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
646
+ var rsc0 = captureTable5.get(rep2);
647
+ if (!rsc0) {
648
+ rsc0 = Object.create(Descriptor.prototype);
649
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
650
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
651
+ }
569
652
  let ret;
570
653
  try {
571
- ret = { tag: 'ok', val: Descriptor.prototype.appendViaStream.call(rsc0) };
654
+ ret = { tag: 'ok', val: rsc0.appendViaStream()};
572
655
  } catch (e) {
573
656
  ret = { tag: 'err', val: getErrorPayload(e) };
574
657
  }
575
- var variant4 = ret;
576
- switch (variant4.tag) {
658
+ rsc0[symbolRscHandle] = null;
659
+ var variant5 = ret;
660
+ switch (variant5.tag) {
577
661
  case 'ok': {
578
- const e = variant4.val;
662
+ const e = variant5.val;
579
663
  dataView(memory0).setInt8(arg1 + 0, 0, true);
580
664
  if (!(e instanceof OutputStream)) {
581
665
  throw new Error('Resource error: Not a valid "OutputStream" resource.');
582
666
  }
583
- var handle2 = handleCnt2++;
584
- handleTable2.set(handle2, { rep: e, own: true });
585
- dataView(memory0).setInt32(arg1 + 4, handle2, true);
667
+ var handle3 = e[symbolRscHandle];
668
+
669
+ if (!handle3) {
670
+ const rep = e[symbolRscRep] || ++captureCnt2;
671
+ captureTable2.set(rep, e);
672
+ handle3 = rscTableCreateOwn(handleTable2, rep);
673
+ }
674
+ dataView(memory0).setInt32(arg1 + 4, handle3, true);
586
675
  break;
587
676
  }
588
677
  case 'err': {
589
- const e = variant4.val;
678
+ const e = variant5.val;
590
679
  dataView(memory0).setInt8(arg1 + 0, 1, true);
591
- var val3 = e;
592
- let enum3;
593
- switch (val3) {
680
+ var val4 = e;
681
+ let enum4;
682
+ switch (val4) {
594
683
  case 'access': {
595
- enum3 = 0;
684
+ enum4 = 0;
596
685
  break;
597
686
  }
598
687
  case 'would-block': {
599
- enum3 = 1;
688
+ enum4 = 1;
600
689
  break;
601
690
  }
602
691
  case 'already': {
603
- enum3 = 2;
692
+ enum4 = 2;
604
693
  break;
605
694
  }
606
695
  case 'bad-descriptor': {
607
- enum3 = 3;
696
+ enum4 = 3;
608
697
  break;
609
698
  }
610
699
  case 'busy': {
611
- enum3 = 4;
700
+ enum4 = 4;
612
701
  break;
613
702
  }
614
703
  case 'deadlock': {
615
- enum3 = 5;
704
+ enum4 = 5;
616
705
  break;
617
706
  }
618
707
  case 'quota': {
619
- enum3 = 6;
708
+ enum4 = 6;
620
709
  break;
621
710
  }
622
711
  case 'exist': {
623
- enum3 = 7;
712
+ enum4 = 7;
624
713
  break;
625
714
  }
626
715
  case 'file-too-large': {
627
- enum3 = 8;
716
+ enum4 = 8;
628
717
  break;
629
718
  }
630
719
  case 'illegal-byte-sequence': {
631
- enum3 = 9;
720
+ enum4 = 9;
632
721
  break;
633
722
  }
634
723
  case 'in-progress': {
635
- enum3 = 10;
724
+ enum4 = 10;
636
725
  break;
637
726
  }
638
727
  case 'interrupted': {
639
- enum3 = 11;
728
+ enum4 = 11;
640
729
  break;
641
730
  }
642
731
  case 'invalid': {
643
- enum3 = 12;
732
+ enum4 = 12;
644
733
  break;
645
734
  }
646
735
  case 'io': {
647
- enum3 = 13;
736
+ enum4 = 13;
648
737
  break;
649
738
  }
650
739
  case 'is-directory': {
651
- enum3 = 14;
740
+ enum4 = 14;
652
741
  break;
653
742
  }
654
743
  case 'loop': {
655
- enum3 = 15;
744
+ enum4 = 15;
656
745
  break;
657
746
  }
658
747
  case 'too-many-links': {
659
- enum3 = 16;
748
+ enum4 = 16;
660
749
  break;
661
750
  }
662
751
  case 'message-size': {
663
- enum3 = 17;
752
+ enum4 = 17;
664
753
  break;
665
754
  }
666
755
  case 'name-too-long': {
667
- enum3 = 18;
756
+ enum4 = 18;
668
757
  break;
669
758
  }
670
759
  case 'no-device': {
671
- enum3 = 19;
760
+ enum4 = 19;
672
761
  break;
673
762
  }
674
763
  case 'no-entry': {
675
- enum3 = 20;
764
+ enum4 = 20;
676
765
  break;
677
766
  }
678
767
  case 'no-lock': {
679
- enum3 = 21;
768
+ enum4 = 21;
680
769
  break;
681
770
  }
682
771
  case 'insufficient-memory': {
683
- enum3 = 22;
772
+ enum4 = 22;
684
773
  break;
685
774
  }
686
775
  case 'insufficient-space': {
687
- enum3 = 23;
776
+ enum4 = 23;
688
777
  break;
689
778
  }
690
779
  case 'not-directory': {
691
- enum3 = 24;
780
+ enum4 = 24;
692
781
  break;
693
782
  }
694
783
  case 'not-empty': {
695
- enum3 = 25;
784
+ enum4 = 25;
696
785
  break;
697
786
  }
698
787
  case 'not-recoverable': {
699
- enum3 = 26;
788
+ enum4 = 26;
700
789
  break;
701
790
  }
702
791
  case 'unsupported': {
703
- enum3 = 27;
792
+ enum4 = 27;
704
793
  break;
705
794
  }
706
795
  case 'no-tty': {
707
- enum3 = 28;
796
+ enum4 = 28;
708
797
  break;
709
798
  }
710
799
  case 'no-such-device': {
711
- enum3 = 29;
800
+ enum4 = 29;
712
801
  break;
713
802
  }
714
803
  case 'overflow': {
715
- enum3 = 30;
804
+ enum4 = 30;
716
805
  break;
717
806
  }
718
807
  case 'not-permitted': {
719
- enum3 = 31;
808
+ enum4 = 31;
720
809
  break;
721
810
  }
722
811
  case 'pipe': {
723
- enum3 = 32;
812
+ enum4 = 32;
724
813
  break;
725
814
  }
726
815
  case 'read-only': {
727
- enum3 = 33;
816
+ enum4 = 33;
728
817
  break;
729
818
  }
730
819
  case 'invalid-seek': {
731
- enum3 = 34;
820
+ enum4 = 34;
732
821
  break;
733
822
  }
734
823
  case 'text-file-busy': {
735
- enum3 = 35;
824
+ enum4 = 35;
736
825
  break;
737
826
  }
738
827
  case 'cross-device': {
739
- enum3 = 36;
828
+ enum4 = 36;
740
829
  break;
741
830
  }
742
831
  default: {
@@ -744,10 +833,10 @@ function trampoline14(arg0, arg1) {
744
833
  console.error(e);
745
834
  }
746
835
 
747
- throw new TypeError(`"${val3}" is not one of the cases of error-code`);
836
+ throw new TypeError(`"${val4}" is not one of the cases of error-code`);
748
837
  }
749
838
  }
750
- dataView(memory0).setInt8(arg1 + 4, enum3, true);
839
+ dataView(memory0).setInt8(arg1 + 4, enum4, true);
751
840
  break;
752
841
  }
753
842
  default: {
@@ -758,51 +847,58 @@ function trampoline14(arg0, arg1) {
758
847
 
759
848
  function trampoline15(arg0, arg1) {
760
849
  var handle1 = arg0;
761
- var rsc0 = handleTable5.get(handle1).rep;
850
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
851
+ var rsc0 = captureTable5.get(rep2);
852
+ if (!rsc0) {
853
+ rsc0 = Object.create(Descriptor.prototype);
854
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
855
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
856
+ }
762
857
  let ret;
763
858
  try {
764
- ret = { tag: 'ok', val: Descriptor.prototype.getType.call(rsc0) };
859
+ ret = { tag: 'ok', val: rsc0.getType()};
765
860
  } catch (e) {
766
861
  ret = { tag: 'err', val: getErrorPayload(e) };
767
862
  }
768
- var variant4 = ret;
769
- switch (variant4.tag) {
863
+ rsc0[symbolRscHandle] = null;
864
+ var variant5 = ret;
865
+ switch (variant5.tag) {
770
866
  case 'ok': {
771
- const e = variant4.val;
867
+ const e = variant5.val;
772
868
  dataView(memory0).setInt8(arg1 + 0, 0, true);
773
- var val2 = e;
774
- let enum2;
775
- switch (val2) {
869
+ var val3 = e;
870
+ let enum3;
871
+ switch (val3) {
776
872
  case 'unknown': {
777
- enum2 = 0;
873
+ enum3 = 0;
778
874
  break;
779
875
  }
780
876
  case 'block-device': {
781
- enum2 = 1;
877
+ enum3 = 1;
782
878
  break;
783
879
  }
784
880
  case 'character-device': {
785
- enum2 = 2;
881
+ enum3 = 2;
786
882
  break;
787
883
  }
788
884
  case 'directory': {
789
- enum2 = 3;
885
+ enum3 = 3;
790
886
  break;
791
887
  }
792
888
  case 'fifo': {
793
- enum2 = 4;
889
+ enum3 = 4;
794
890
  break;
795
891
  }
796
892
  case 'symbolic-link': {
797
- enum2 = 5;
893
+ enum3 = 5;
798
894
  break;
799
895
  }
800
896
  case 'regular-file': {
801
- enum2 = 6;
897
+ enum3 = 6;
802
898
  break;
803
899
  }
804
900
  case 'socket': {
805
- enum2 = 7;
901
+ enum3 = 7;
806
902
  break;
807
903
  }
808
904
  default: {
@@ -810,164 +906,164 @@ function trampoline15(arg0, arg1) {
810
906
  console.error(e);
811
907
  }
812
908
 
813
- throw new TypeError(`"${val2}" is not one of the cases of descriptor-type`);
909
+ throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`);
814
910
  }
815
911
  }
816
- dataView(memory0).setInt8(arg1 + 1, enum2, true);
912
+ dataView(memory0).setInt8(arg1 + 1, enum3, true);
817
913
  break;
818
914
  }
819
915
  case 'err': {
820
- const e = variant4.val;
916
+ const e = variant5.val;
821
917
  dataView(memory0).setInt8(arg1 + 0, 1, true);
822
- var val3 = e;
823
- let enum3;
824
- switch (val3) {
918
+ var val4 = e;
919
+ let enum4;
920
+ switch (val4) {
825
921
  case 'access': {
826
- enum3 = 0;
922
+ enum4 = 0;
827
923
  break;
828
924
  }
829
925
  case 'would-block': {
830
- enum3 = 1;
926
+ enum4 = 1;
831
927
  break;
832
928
  }
833
929
  case 'already': {
834
- enum3 = 2;
930
+ enum4 = 2;
835
931
  break;
836
932
  }
837
933
  case 'bad-descriptor': {
838
- enum3 = 3;
934
+ enum4 = 3;
839
935
  break;
840
936
  }
841
937
  case 'busy': {
842
- enum3 = 4;
938
+ enum4 = 4;
843
939
  break;
844
940
  }
845
941
  case 'deadlock': {
846
- enum3 = 5;
942
+ enum4 = 5;
847
943
  break;
848
944
  }
849
945
  case 'quota': {
850
- enum3 = 6;
946
+ enum4 = 6;
851
947
  break;
852
948
  }
853
949
  case 'exist': {
854
- enum3 = 7;
950
+ enum4 = 7;
855
951
  break;
856
952
  }
857
953
  case 'file-too-large': {
858
- enum3 = 8;
954
+ enum4 = 8;
859
955
  break;
860
956
  }
861
957
  case 'illegal-byte-sequence': {
862
- enum3 = 9;
958
+ enum4 = 9;
863
959
  break;
864
960
  }
865
961
  case 'in-progress': {
866
- enum3 = 10;
962
+ enum4 = 10;
867
963
  break;
868
964
  }
869
965
  case 'interrupted': {
870
- enum3 = 11;
966
+ enum4 = 11;
871
967
  break;
872
968
  }
873
969
  case 'invalid': {
874
- enum3 = 12;
970
+ enum4 = 12;
875
971
  break;
876
972
  }
877
973
  case 'io': {
878
- enum3 = 13;
974
+ enum4 = 13;
879
975
  break;
880
976
  }
881
977
  case 'is-directory': {
882
- enum3 = 14;
978
+ enum4 = 14;
883
979
  break;
884
980
  }
885
981
  case 'loop': {
886
- enum3 = 15;
982
+ enum4 = 15;
887
983
  break;
888
984
  }
889
985
  case 'too-many-links': {
890
- enum3 = 16;
986
+ enum4 = 16;
891
987
  break;
892
988
  }
893
989
  case 'message-size': {
894
- enum3 = 17;
990
+ enum4 = 17;
895
991
  break;
896
992
  }
897
993
  case 'name-too-long': {
898
- enum3 = 18;
994
+ enum4 = 18;
899
995
  break;
900
996
  }
901
997
  case 'no-device': {
902
- enum3 = 19;
998
+ enum4 = 19;
903
999
  break;
904
1000
  }
905
1001
  case 'no-entry': {
906
- enum3 = 20;
1002
+ enum4 = 20;
907
1003
  break;
908
1004
  }
909
1005
  case 'no-lock': {
910
- enum3 = 21;
1006
+ enum4 = 21;
911
1007
  break;
912
1008
  }
913
1009
  case 'insufficient-memory': {
914
- enum3 = 22;
1010
+ enum4 = 22;
915
1011
  break;
916
1012
  }
917
1013
  case 'insufficient-space': {
918
- enum3 = 23;
1014
+ enum4 = 23;
919
1015
  break;
920
1016
  }
921
1017
  case 'not-directory': {
922
- enum3 = 24;
1018
+ enum4 = 24;
923
1019
  break;
924
1020
  }
925
1021
  case 'not-empty': {
926
- enum3 = 25;
1022
+ enum4 = 25;
927
1023
  break;
928
1024
  }
929
1025
  case 'not-recoverable': {
930
- enum3 = 26;
1026
+ enum4 = 26;
931
1027
  break;
932
1028
  }
933
1029
  case 'unsupported': {
934
- enum3 = 27;
1030
+ enum4 = 27;
935
1031
  break;
936
1032
  }
937
1033
  case 'no-tty': {
938
- enum3 = 28;
1034
+ enum4 = 28;
939
1035
  break;
940
1036
  }
941
1037
  case 'no-such-device': {
942
- enum3 = 29;
1038
+ enum4 = 29;
943
1039
  break;
944
1040
  }
945
1041
  case 'overflow': {
946
- enum3 = 30;
1042
+ enum4 = 30;
947
1043
  break;
948
1044
  }
949
1045
  case 'not-permitted': {
950
- enum3 = 31;
1046
+ enum4 = 31;
951
1047
  break;
952
1048
  }
953
1049
  case 'pipe': {
954
- enum3 = 32;
1050
+ enum4 = 32;
955
1051
  break;
956
1052
  }
957
1053
  case 'read-only': {
958
- enum3 = 33;
1054
+ enum4 = 33;
959
1055
  break;
960
1056
  }
961
1057
  case 'invalid-seek': {
962
- enum3 = 34;
1058
+ enum4 = 34;
963
1059
  break;
964
1060
  }
965
1061
  case 'text-file-busy': {
966
- enum3 = 35;
1062
+ enum4 = 35;
967
1063
  break;
968
1064
  }
969
1065
  case 'cross-device': {
970
- enum3 = 36;
1066
+ enum4 = 36;
971
1067
  break;
972
1068
  }
973
1069
  default: {
@@ -975,10 +1071,10 @@ function trampoline15(arg0, arg1) {
975
1071
  console.error(e);
976
1072
  }
977
1073
 
978
- throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1074
+ throw new TypeError(`"${val4}" is not one of the cases of error-code`);
979
1075
  }
980
1076
  }
981
- dataView(memory0).setInt8(arg1 + 1, enum3, true);
1077
+ dataView(memory0).setInt8(arg1 + 1, enum4, true);
982
1078
  break;
983
1079
  }
984
1080
  default: {
@@ -989,249 +1085,256 @@ function trampoline15(arg0, arg1) {
989
1085
 
990
1086
  function trampoline16(arg0, arg1) {
991
1087
  var handle1 = arg0;
992
- var rsc0 = handleTable5.get(handle1).rep;
1088
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
1089
+ var rsc0 = captureTable5.get(rep2);
1090
+ if (!rsc0) {
1091
+ rsc0 = Object.create(Descriptor.prototype);
1092
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1093
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1094
+ }
993
1095
  let ret;
994
1096
  try {
995
- ret = { tag: 'ok', val: Descriptor.prototype.stat.call(rsc0) };
1097
+ ret = { tag: 'ok', val: rsc0.stat()};
996
1098
  } catch (e) {
997
1099
  ret = { tag: 'err', val: getErrorPayload(e) };
998
1100
  }
999
- var variant11 = ret;
1000
- switch (variant11.tag) {
1101
+ rsc0[symbolRscHandle] = null;
1102
+ var variant12 = ret;
1103
+ switch (variant12.tag) {
1001
1104
  case 'ok': {
1002
- const e = variant11.val;
1105
+ const e = variant12.val;
1003
1106
  dataView(memory0).setInt8(arg1 + 0, 0, true);
1004
- var {type: v2_0, linkCount: v2_1, size: v2_2, dataAccessTimestamp: v2_3, dataModificationTimestamp: v2_4, statusChangeTimestamp: v2_5 } = e;
1005
- var val3 = v2_0;
1006
- let enum3;
1007
- switch (val3) {
1107
+ var {type: v3_0, linkCount: v3_1, size: v3_2, dataAccessTimestamp: v3_3, dataModificationTimestamp: v3_4, statusChangeTimestamp: v3_5 } = e;
1108
+ var val4 = v3_0;
1109
+ let enum4;
1110
+ switch (val4) {
1008
1111
  case 'unknown': {
1009
- enum3 = 0;
1112
+ enum4 = 0;
1010
1113
  break;
1011
1114
  }
1012
1115
  case 'block-device': {
1013
- enum3 = 1;
1116
+ enum4 = 1;
1014
1117
  break;
1015
1118
  }
1016
1119
  case 'character-device': {
1017
- enum3 = 2;
1120
+ enum4 = 2;
1018
1121
  break;
1019
1122
  }
1020
1123
  case 'directory': {
1021
- enum3 = 3;
1124
+ enum4 = 3;
1022
1125
  break;
1023
1126
  }
1024
1127
  case 'fifo': {
1025
- enum3 = 4;
1128
+ enum4 = 4;
1026
1129
  break;
1027
1130
  }
1028
1131
  case 'symbolic-link': {
1029
- enum3 = 5;
1132
+ enum4 = 5;
1030
1133
  break;
1031
1134
  }
1032
1135
  case 'regular-file': {
1033
- enum3 = 6;
1136
+ enum4 = 6;
1034
1137
  break;
1035
1138
  }
1036
1139
  case 'socket': {
1037
- enum3 = 7;
1140
+ enum4 = 7;
1038
1141
  break;
1039
1142
  }
1040
1143
  default: {
1041
- if ((v2_0) instanceof Error) {
1042
- console.error(v2_0);
1144
+ if ((v3_0) instanceof Error) {
1145
+ console.error(v3_0);
1043
1146
  }
1044
1147
 
1045
- throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`);
1148
+ throw new TypeError(`"${val4}" is not one of the cases of descriptor-type`);
1046
1149
  }
1047
1150
  }
1048
- dataView(memory0).setInt8(arg1 + 8, enum3, true);
1049
- dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
1050
- dataView(memory0).setBigInt64(arg1 + 24, toUint64(v2_2), true);
1051
- var variant5 = v2_3;
1052
- if (variant5 === null || variant5=== undefined) {
1151
+ dataView(memory0).setInt8(arg1 + 8, enum4, true);
1152
+ dataView(memory0).setBigInt64(arg1 + 16, toUint64(v3_1), true);
1153
+ dataView(memory0).setBigInt64(arg1 + 24, toUint64(v3_2), true);
1154
+ var variant6 = v3_3;
1155
+ if (variant6 === null || variant6=== undefined) {
1053
1156
  dataView(memory0).setInt8(arg1 + 32, 0, true);
1054
1157
  } else {
1055
- const e = variant5;
1158
+ const e = variant6;
1056
1159
  dataView(memory0).setInt8(arg1 + 32, 1, true);
1057
- var {seconds: v4_0, nanoseconds: v4_1 } = e;
1058
- dataView(memory0).setBigInt64(arg1 + 40, toUint64(v4_0), true);
1059
- dataView(memory0).setInt32(arg1 + 48, toUint32(v4_1), true);
1160
+ var {seconds: v5_0, nanoseconds: v5_1 } = e;
1161
+ dataView(memory0).setBigInt64(arg1 + 40, toUint64(v5_0), true);
1162
+ dataView(memory0).setInt32(arg1 + 48, toUint32(v5_1), true);
1060
1163
  }
1061
- var variant7 = v2_4;
1062
- if (variant7 === null || variant7=== undefined) {
1164
+ var variant8 = v3_4;
1165
+ if (variant8 === null || variant8=== undefined) {
1063
1166
  dataView(memory0).setInt8(arg1 + 56, 0, true);
1064
1167
  } else {
1065
- const e = variant7;
1168
+ const e = variant8;
1066
1169
  dataView(memory0).setInt8(arg1 + 56, 1, true);
1067
- var {seconds: v6_0, nanoseconds: v6_1 } = e;
1068
- dataView(memory0).setBigInt64(arg1 + 64, toUint64(v6_0), true);
1069
- dataView(memory0).setInt32(arg1 + 72, toUint32(v6_1), true);
1170
+ var {seconds: v7_0, nanoseconds: v7_1 } = e;
1171
+ dataView(memory0).setBigInt64(arg1 + 64, toUint64(v7_0), true);
1172
+ dataView(memory0).setInt32(arg1 + 72, toUint32(v7_1), true);
1070
1173
  }
1071
- var variant9 = v2_5;
1072
- if (variant9 === null || variant9=== undefined) {
1174
+ var variant10 = v3_5;
1175
+ if (variant10 === null || variant10=== undefined) {
1073
1176
  dataView(memory0).setInt8(arg1 + 80, 0, true);
1074
1177
  } else {
1075
- const e = variant9;
1178
+ const e = variant10;
1076
1179
  dataView(memory0).setInt8(arg1 + 80, 1, true);
1077
- var {seconds: v8_0, nanoseconds: v8_1 } = e;
1078
- dataView(memory0).setBigInt64(arg1 + 88, toUint64(v8_0), true);
1079
- dataView(memory0).setInt32(arg1 + 96, toUint32(v8_1), true);
1180
+ var {seconds: v9_0, nanoseconds: v9_1 } = e;
1181
+ dataView(memory0).setBigInt64(arg1 + 88, toUint64(v9_0), true);
1182
+ dataView(memory0).setInt32(arg1 + 96, toUint32(v9_1), true);
1080
1183
  }
1081
1184
  break;
1082
1185
  }
1083
1186
  case 'err': {
1084
- const e = variant11.val;
1187
+ const e = variant12.val;
1085
1188
  dataView(memory0).setInt8(arg1 + 0, 1, true);
1086
- var val10 = e;
1087
- let enum10;
1088
- switch (val10) {
1189
+ var val11 = e;
1190
+ let enum11;
1191
+ switch (val11) {
1089
1192
  case 'access': {
1090
- enum10 = 0;
1193
+ enum11 = 0;
1091
1194
  break;
1092
1195
  }
1093
1196
  case 'would-block': {
1094
- enum10 = 1;
1197
+ enum11 = 1;
1095
1198
  break;
1096
1199
  }
1097
1200
  case 'already': {
1098
- enum10 = 2;
1201
+ enum11 = 2;
1099
1202
  break;
1100
1203
  }
1101
1204
  case 'bad-descriptor': {
1102
- enum10 = 3;
1205
+ enum11 = 3;
1103
1206
  break;
1104
1207
  }
1105
1208
  case 'busy': {
1106
- enum10 = 4;
1209
+ enum11 = 4;
1107
1210
  break;
1108
1211
  }
1109
1212
  case 'deadlock': {
1110
- enum10 = 5;
1213
+ enum11 = 5;
1111
1214
  break;
1112
1215
  }
1113
1216
  case 'quota': {
1114
- enum10 = 6;
1217
+ enum11 = 6;
1115
1218
  break;
1116
1219
  }
1117
1220
  case 'exist': {
1118
- enum10 = 7;
1221
+ enum11 = 7;
1119
1222
  break;
1120
1223
  }
1121
1224
  case 'file-too-large': {
1122
- enum10 = 8;
1225
+ enum11 = 8;
1123
1226
  break;
1124
1227
  }
1125
1228
  case 'illegal-byte-sequence': {
1126
- enum10 = 9;
1229
+ enum11 = 9;
1127
1230
  break;
1128
1231
  }
1129
1232
  case 'in-progress': {
1130
- enum10 = 10;
1233
+ enum11 = 10;
1131
1234
  break;
1132
1235
  }
1133
1236
  case 'interrupted': {
1134
- enum10 = 11;
1237
+ enum11 = 11;
1135
1238
  break;
1136
1239
  }
1137
1240
  case 'invalid': {
1138
- enum10 = 12;
1241
+ enum11 = 12;
1139
1242
  break;
1140
1243
  }
1141
1244
  case 'io': {
1142
- enum10 = 13;
1245
+ enum11 = 13;
1143
1246
  break;
1144
1247
  }
1145
1248
  case 'is-directory': {
1146
- enum10 = 14;
1249
+ enum11 = 14;
1147
1250
  break;
1148
1251
  }
1149
1252
  case 'loop': {
1150
- enum10 = 15;
1253
+ enum11 = 15;
1151
1254
  break;
1152
1255
  }
1153
1256
  case 'too-many-links': {
1154
- enum10 = 16;
1257
+ enum11 = 16;
1155
1258
  break;
1156
1259
  }
1157
1260
  case 'message-size': {
1158
- enum10 = 17;
1261
+ enum11 = 17;
1159
1262
  break;
1160
1263
  }
1161
1264
  case 'name-too-long': {
1162
- enum10 = 18;
1265
+ enum11 = 18;
1163
1266
  break;
1164
1267
  }
1165
1268
  case 'no-device': {
1166
- enum10 = 19;
1269
+ enum11 = 19;
1167
1270
  break;
1168
1271
  }
1169
1272
  case 'no-entry': {
1170
- enum10 = 20;
1273
+ enum11 = 20;
1171
1274
  break;
1172
1275
  }
1173
1276
  case 'no-lock': {
1174
- enum10 = 21;
1277
+ enum11 = 21;
1175
1278
  break;
1176
1279
  }
1177
1280
  case 'insufficient-memory': {
1178
- enum10 = 22;
1281
+ enum11 = 22;
1179
1282
  break;
1180
1283
  }
1181
1284
  case 'insufficient-space': {
1182
- enum10 = 23;
1285
+ enum11 = 23;
1183
1286
  break;
1184
1287
  }
1185
1288
  case 'not-directory': {
1186
- enum10 = 24;
1289
+ enum11 = 24;
1187
1290
  break;
1188
1291
  }
1189
1292
  case 'not-empty': {
1190
- enum10 = 25;
1293
+ enum11 = 25;
1191
1294
  break;
1192
1295
  }
1193
1296
  case 'not-recoverable': {
1194
- enum10 = 26;
1297
+ enum11 = 26;
1195
1298
  break;
1196
1299
  }
1197
1300
  case 'unsupported': {
1198
- enum10 = 27;
1301
+ enum11 = 27;
1199
1302
  break;
1200
1303
  }
1201
1304
  case 'no-tty': {
1202
- enum10 = 28;
1305
+ enum11 = 28;
1203
1306
  break;
1204
1307
  }
1205
1308
  case 'no-such-device': {
1206
- enum10 = 29;
1309
+ enum11 = 29;
1207
1310
  break;
1208
1311
  }
1209
1312
  case 'overflow': {
1210
- enum10 = 30;
1313
+ enum11 = 30;
1211
1314
  break;
1212
1315
  }
1213
1316
  case 'not-permitted': {
1214
- enum10 = 31;
1317
+ enum11 = 31;
1215
1318
  break;
1216
1319
  }
1217
1320
  case 'pipe': {
1218
- enum10 = 32;
1321
+ enum11 = 32;
1219
1322
  break;
1220
1323
  }
1221
1324
  case 'read-only': {
1222
- enum10 = 33;
1325
+ enum11 = 33;
1223
1326
  break;
1224
1327
  }
1225
1328
  case 'invalid-seek': {
1226
- enum10 = 34;
1329
+ enum11 = 34;
1227
1330
  break;
1228
1331
  }
1229
1332
  case 'text-file-busy': {
1230
- enum10 = 35;
1333
+ enum11 = 35;
1231
1334
  break;
1232
1335
  }
1233
1336
  case 'cross-device': {
1234
- enum10 = 36;
1337
+ enum11 = 36;
1235
1338
  break;
1236
1339
  }
1237
1340
  default: {
@@ -1239,10 +1342,10 @@ function trampoline16(arg0, arg1) {
1239
1342
  console.error(e);
1240
1343
  }
1241
1344
 
1242
- throw new TypeError(`"${val10}" is not one of the cases of error-code`);
1345
+ throw new TypeError(`"${val11}" is not one of the cases of error-code`);
1243
1346
  }
1244
1347
  }
1245
- dataView(memory0).setInt8(arg1 + 8, enum10, true);
1348
+ dataView(memory0).setInt8(arg1 + 8, enum11, true);
1246
1349
  break;
1247
1350
  }
1248
1351
  default: {
@@ -1253,20 +1356,26 @@ function trampoline16(arg0, arg1) {
1253
1356
 
1254
1357
  function trampoline17(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1255
1358
  var handle1 = arg0;
1256
- var rsc0 = handleTable5.get(handle1).rep;
1359
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
1360
+ var rsc0 = captureTable5.get(rep2);
1361
+ if (!rsc0) {
1362
+ rsc0 = Object.create(Descriptor.prototype);
1363
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1364
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1365
+ }
1257
1366
  if ((arg1 & 4294967294) !== 0) {
1258
1367
  throw new TypeError('flags have extraneous bits set');
1259
1368
  }
1260
- var flags2 = {
1369
+ var flags3 = {
1261
1370
  symlinkFollow: Boolean(arg1 & 1),
1262
1371
  };
1263
- var ptr3 = arg2;
1264
- var len3 = arg3;
1265
- var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
1372
+ var ptr4 = arg2;
1373
+ var len4 = arg3;
1374
+ var result4 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr4, len4));
1266
1375
  if ((arg4 & 4294967280) !== 0) {
1267
1376
  throw new TypeError('flags have extraneous bits set');
1268
1377
  }
1269
- var flags4 = {
1378
+ var flags5 = {
1270
1379
  create: Boolean(arg4 & 1),
1271
1380
  directory: Boolean(arg4 & 2),
1272
1381
  exclusive: Boolean(arg4 & 4),
@@ -1275,7 +1384,7 @@ function trampoline17(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1275
1384
  if ((arg5 & 4294967232) !== 0) {
1276
1385
  throw new TypeError('flags have extraneous bits set');
1277
1386
  }
1278
- var flags5 = {
1387
+ var flags6 = {
1279
1388
  read: Boolean(arg5 & 1),
1280
1389
  write: Boolean(arg5 & 2),
1281
1390
  fileIntegritySync: Boolean(arg5 & 4),
@@ -1285,175 +1394,181 @@ function trampoline17(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1285
1394
  };
1286
1395
  let ret;
1287
1396
  try {
1288
- ret = { tag: 'ok', val: Descriptor.prototype.openAt.call(rsc0, flags2, result3, flags4, flags5) };
1397
+ ret = { tag: 'ok', val: rsc0.openAt(flags3, result4, flags5, flags6)};
1289
1398
  } catch (e) {
1290
1399
  ret = { tag: 'err', val: getErrorPayload(e) };
1291
1400
  }
1292
- var variant8 = ret;
1293
- switch (variant8.tag) {
1401
+ rsc0[symbolRscHandle] = null;
1402
+ var variant9 = ret;
1403
+ switch (variant9.tag) {
1294
1404
  case 'ok': {
1295
- const e = variant8.val;
1405
+ const e = variant9.val;
1296
1406
  dataView(memory0).setInt8(arg6 + 0, 0, true);
1297
1407
  if (!(e instanceof Descriptor)) {
1298
1408
  throw new Error('Resource error: Not a valid "Descriptor" resource.');
1299
1409
  }
1300
- var handle6 = handleCnt5++;
1301
- handleTable5.set(handle6, { rep: e, own: true });
1302
- dataView(memory0).setInt32(arg6 + 4, handle6, true);
1410
+ var handle7 = e[symbolRscHandle];
1411
+
1412
+ if (!handle7) {
1413
+ const rep = e[symbolRscRep] || ++captureCnt5;
1414
+ captureTable5.set(rep, e);
1415
+ handle7 = rscTableCreateOwn(handleTable5, rep);
1416
+ }
1417
+ dataView(memory0).setInt32(arg6 + 4, handle7, true);
1303
1418
  break;
1304
1419
  }
1305
1420
  case 'err': {
1306
- const e = variant8.val;
1421
+ const e = variant9.val;
1307
1422
  dataView(memory0).setInt8(arg6 + 0, 1, true);
1308
- var val7 = e;
1309
- let enum7;
1310
- switch (val7) {
1423
+ var val8 = e;
1424
+ let enum8;
1425
+ switch (val8) {
1311
1426
  case 'access': {
1312
- enum7 = 0;
1427
+ enum8 = 0;
1313
1428
  break;
1314
1429
  }
1315
1430
  case 'would-block': {
1316
- enum7 = 1;
1431
+ enum8 = 1;
1317
1432
  break;
1318
1433
  }
1319
1434
  case 'already': {
1320
- enum7 = 2;
1435
+ enum8 = 2;
1321
1436
  break;
1322
1437
  }
1323
1438
  case 'bad-descriptor': {
1324
- enum7 = 3;
1439
+ enum8 = 3;
1325
1440
  break;
1326
1441
  }
1327
1442
  case 'busy': {
1328
- enum7 = 4;
1443
+ enum8 = 4;
1329
1444
  break;
1330
1445
  }
1331
1446
  case 'deadlock': {
1332
- enum7 = 5;
1447
+ enum8 = 5;
1333
1448
  break;
1334
1449
  }
1335
1450
  case 'quota': {
1336
- enum7 = 6;
1451
+ enum8 = 6;
1337
1452
  break;
1338
1453
  }
1339
1454
  case 'exist': {
1340
- enum7 = 7;
1455
+ enum8 = 7;
1341
1456
  break;
1342
1457
  }
1343
1458
  case 'file-too-large': {
1344
- enum7 = 8;
1459
+ enum8 = 8;
1345
1460
  break;
1346
1461
  }
1347
1462
  case 'illegal-byte-sequence': {
1348
- enum7 = 9;
1463
+ enum8 = 9;
1349
1464
  break;
1350
1465
  }
1351
1466
  case 'in-progress': {
1352
- enum7 = 10;
1467
+ enum8 = 10;
1353
1468
  break;
1354
1469
  }
1355
1470
  case 'interrupted': {
1356
- enum7 = 11;
1471
+ enum8 = 11;
1357
1472
  break;
1358
1473
  }
1359
1474
  case 'invalid': {
1360
- enum7 = 12;
1475
+ enum8 = 12;
1361
1476
  break;
1362
1477
  }
1363
1478
  case 'io': {
1364
- enum7 = 13;
1479
+ enum8 = 13;
1365
1480
  break;
1366
1481
  }
1367
1482
  case 'is-directory': {
1368
- enum7 = 14;
1483
+ enum8 = 14;
1369
1484
  break;
1370
1485
  }
1371
1486
  case 'loop': {
1372
- enum7 = 15;
1487
+ enum8 = 15;
1373
1488
  break;
1374
1489
  }
1375
1490
  case 'too-many-links': {
1376
- enum7 = 16;
1491
+ enum8 = 16;
1377
1492
  break;
1378
1493
  }
1379
1494
  case 'message-size': {
1380
- enum7 = 17;
1495
+ enum8 = 17;
1381
1496
  break;
1382
1497
  }
1383
1498
  case 'name-too-long': {
1384
- enum7 = 18;
1499
+ enum8 = 18;
1385
1500
  break;
1386
1501
  }
1387
1502
  case 'no-device': {
1388
- enum7 = 19;
1503
+ enum8 = 19;
1389
1504
  break;
1390
1505
  }
1391
1506
  case 'no-entry': {
1392
- enum7 = 20;
1507
+ enum8 = 20;
1393
1508
  break;
1394
1509
  }
1395
1510
  case 'no-lock': {
1396
- enum7 = 21;
1511
+ enum8 = 21;
1397
1512
  break;
1398
1513
  }
1399
1514
  case 'insufficient-memory': {
1400
- enum7 = 22;
1515
+ enum8 = 22;
1401
1516
  break;
1402
1517
  }
1403
1518
  case 'insufficient-space': {
1404
- enum7 = 23;
1519
+ enum8 = 23;
1405
1520
  break;
1406
1521
  }
1407
1522
  case 'not-directory': {
1408
- enum7 = 24;
1523
+ enum8 = 24;
1409
1524
  break;
1410
1525
  }
1411
1526
  case 'not-empty': {
1412
- enum7 = 25;
1527
+ enum8 = 25;
1413
1528
  break;
1414
1529
  }
1415
1530
  case 'not-recoverable': {
1416
- enum7 = 26;
1531
+ enum8 = 26;
1417
1532
  break;
1418
1533
  }
1419
1534
  case 'unsupported': {
1420
- enum7 = 27;
1535
+ enum8 = 27;
1421
1536
  break;
1422
1537
  }
1423
1538
  case 'no-tty': {
1424
- enum7 = 28;
1539
+ enum8 = 28;
1425
1540
  break;
1426
1541
  }
1427
1542
  case 'no-such-device': {
1428
- enum7 = 29;
1543
+ enum8 = 29;
1429
1544
  break;
1430
1545
  }
1431
1546
  case 'overflow': {
1432
- enum7 = 30;
1547
+ enum8 = 30;
1433
1548
  break;
1434
1549
  }
1435
1550
  case 'not-permitted': {
1436
- enum7 = 31;
1551
+ enum8 = 31;
1437
1552
  break;
1438
1553
  }
1439
1554
  case 'pipe': {
1440
- enum7 = 32;
1555
+ enum8 = 32;
1441
1556
  break;
1442
1557
  }
1443
1558
  case 'read-only': {
1444
- enum7 = 33;
1559
+ enum8 = 33;
1445
1560
  break;
1446
1561
  }
1447
1562
  case 'invalid-seek': {
1448
- enum7 = 34;
1563
+ enum8 = 34;
1449
1564
  break;
1450
1565
  }
1451
1566
  case 'text-file-busy': {
1452
- enum7 = 35;
1567
+ enum8 = 35;
1453
1568
  break;
1454
1569
  }
1455
1570
  case 'cross-device': {
1456
- enum7 = 36;
1571
+ enum8 = 36;
1457
1572
  break;
1458
1573
  }
1459
1574
  default: {
@@ -1461,10 +1576,10 @@ function trampoline17(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1461
1576
  console.error(e);
1462
1577
  }
1463
1578
 
1464
- throw new TypeError(`"${val7}" is not one of the cases of error-code`);
1579
+ throw new TypeError(`"${val8}" is not one of the cases of error-code`);
1465
1580
  }
1466
1581
  }
1467
- dataView(memory0).setInt8(arg6 + 4, enum7, true);
1582
+ dataView(memory0).setInt8(arg6 + 4, enum8, true);
1468
1583
  break;
1469
1584
  }
1470
1585
  default: {
@@ -1475,175 +1590,182 @@ function trampoline17(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
1475
1590
 
1476
1591
  function trampoline18(arg0, arg1) {
1477
1592
  var handle1 = arg0;
1478
- var rsc0 = handleTable5.get(handle1).rep;
1593
+ var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG;
1594
+ var rsc0 = captureTable5.get(rep2);
1595
+ if (!rsc0) {
1596
+ rsc0 = Object.create(Descriptor.prototype);
1597
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1598
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1599
+ }
1479
1600
  let ret;
1480
1601
  try {
1481
- ret = { tag: 'ok', val: Descriptor.prototype.metadataHash.call(rsc0) };
1602
+ ret = { tag: 'ok', val: rsc0.metadataHash()};
1482
1603
  } catch (e) {
1483
1604
  ret = { tag: 'err', val: getErrorPayload(e) };
1484
1605
  }
1485
- var variant4 = ret;
1486
- switch (variant4.tag) {
1606
+ rsc0[symbolRscHandle] = null;
1607
+ var variant5 = ret;
1608
+ switch (variant5.tag) {
1487
1609
  case 'ok': {
1488
- const e = variant4.val;
1610
+ const e = variant5.val;
1489
1611
  dataView(memory0).setInt8(arg1 + 0, 0, true);
1490
- var {lower: v2_0, upper: v2_1 } = e;
1491
- dataView(memory0).setBigInt64(arg1 + 8, toUint64(v2_0), true);
1492
- dataView(memory0).setBigInt64(arg1 + 16, toUint64(v2_1), true);
1612
+ var {lower: v3_0, upper: v3_1 } = e;
1613
+ dataView(memory0).setBigInt64(arg1 + 8, toUint64(v3_0), true);
1614
+ dataView(memory0).setBigInt64(arg1 + 16, toUint64(v3_1), true);
1493
1615
  break;
1494
1616
  }
1495
1617
  case 'err': {
1496
- const e = variant4.val;
1618
+ const e = variant5.val;
1497
1619
  dataView(memory0).setInt8(arg1 + 0, 1, true);
1498
- var val3 = e;
1499
- let enum3;
1500
- switch (val3) {
1620
+ var val4 = e;
1621
+ let enum4;
1622
+ switch (val4) {
1501
1623
  case 'access': {
1502
- enum3 = 0;
1624
+ enum4 = 0;
1503
1625
  break;
1504
1626
  }
1505
1627
  case 'would-block': {
1506
- enum3 = 1;
1628
+ enum4 = 1;
1507
1629
  break;
1508
1630
  }
1509
1631
  case 'already': {
1510
- enum3 = 2;
1632
+ enum4 = 2;
1511
1633
  break;
1512
1634
  }
1513
1635
  case 'bad-descriptor': {
1514
- enum3 = 3;
1636
+ enum4 = 3;
1515
1637
  break;
1516
1638
  }
1517
1639
  case 'busy': {
1518
- enum3 = 4;
1640
+ enum4 = 4;
1519
1641
  break;
1520
1642
  }
1521
1643
  case 'deadlock': {
1522
- enum3 = 5;
1644
+ enum4 = 5;
1523
1645
  break;
1524
1646
  }
1525
1647
  case 'quota': {
1526
- enum3 = 6;
1648
+ enum4 = 6;
1527
1649
  break;
1528
1650
  }
1529
1651
  case 'exist': {
1530
- enum3 = 7;
1652
+ enum4 = 7;
1531
1653
  break;
1532
1654
  }
1533
1655
  case 'file-too-large': {
1534
- enum3 = 8;
1656
+ enum4 = 8;
1535
1657
  break;
1536
1658
  }
1537
1659
  case 'illegal-byte-sequence': {
1538
- enum3 = 9;
1660
+ enum4 = 9;
1539
1661
  break;
1540
1662
  }
1541
1663
  case 'in-progress': {
1542
- enum3 = 10;
1664
+ enum4 = 10;
1543
1665
  break;
1544
1666
  }
1545
1667
  case 'interrupted': {
1546
- enum3 = 11;
1668
+ enum4 = 11;
1547
1669
  break;
1548
1670
  }
1549
1671
  case 'invalid': {
1550
- enum3 = 12;
1672
+ enum4 = 12;
1551
1673
  break;
1552
1674
  }
1553
1675
  case 'io': {
1554
- enum3 = 13;
1676
+ enum4 = 13;
1555
1677
  break;
1556
1678
  }
1557
1679
  case 'is-directory': {
1558
- enum3 = 14;
1680
+ enum4 = 14;
1559
1681
  break;
1560
1682
  }
1561
1683
  case 'loop': {
1562
- enum3 = 15;
1684
+ enum4 = 15;
1563
1685
  break;
1564
1686
  }
1565
1687
  case 'too-many-links': {
1566
- enum3 = 16;
1688
+ enum4 = 16;
1567
1689
  break;
1568
1690
  }
1569
1691
  case 'message-size': {
1570
- enum3 = 17;
1692
+ enum4 = 17;
1571
1693
  break;
1572
1694
  }
1573
1695
  case 'name-too-long': {
1574
- enum3 = 18;
1696
+ enum4 = 18;
1575
1697
  break;
1576
1698
  }
1577
1699
  case 'no-device': {
1578
- enum3 = 19;
1700
+ enum4 = 19;
1579
1701
  break;
1580
1702
  }
1581
1703
  case 'no-entry': {
1582
- enum3 = 20;
1704
+ enum4 = 20;
1583
1705
  break;
1584
1706
  }
1585
1707
  case 'no-lock': {
1586
- enum3 = 21;
1708
+ enum4 = 21;
1587
1709
  break;
1588
1710
  }
1589
1711
  case 'insufficient-memory': {
1590
- enum3 = 22;
1712
+ enum4 = 22;
1591
1713
  break;
1592
1714
  }
1593
1715
  case 'insufficient-space': {
1594
- enum3 = 23;
1716
+ enum4 = 23;
1595
1717
  break;
1596
1718
  }
1597
1719
  case 'not-directory': {
1598
- enum3 = 24;
1720
+ enum4 = 24;
1599
1721
  break;
1600
1722
  }
1601
1723
  case 'not-empty': {
1602
- enum3 = 25;
1724
+ enum4 = 25;
1603
1725
  break;
1604
1726
  }
1605
1727
  case 'not-recoverable': {
1606
- enum3 = 26;
1728
+ enum4 = 26;
1607
1729
  break;
1608
1730
  }
1609
1731
  case 'unsupported': {
1610
- enum3 = 27;
1732
+ enum4 = 27;
1611
1733
  break;
1612
1734
  }
1613
1735
  case 'no-tty': {
1614
- enum3 = 28;
1736
+ enum4 = 28;
1615
1737
  break;
1616
1738
  }
1617
1739
  case 'no-such-device': {
1618
- enum3 = 29;
1740
+ enum4 = 29;
1619
1741
  break;
1620
1742
  }
1621
1743
  case 'overflow': {
1622
- enum3 = 30;
1744
+ enum4 = 30;
1623
1745
  break;
1624
1746
  }
1625
1747
  case 'not-permitted': {
1626
- enum3 = 31;
1748
+ enum4 = 31;
1627
1749
  break;
1628
1750
  }
1629
1751
  case 'pipe': {
1630
- enum3 = 32;
1752
+ enum4 = 32;
1631
1753
  break;
1632
1754
  }
1633
1755
  case 'read-only': {
1634
- enum3 = 33;
1756
+ enum4 = 33;
1635
1757
  break;
1636
1758
  }
1637
1759
  case 'invalid-seek': {
1638
- enum3 = 34;
1760
+ enum4 = 34;
1639
1761
  break;
1640
1762
  }
1641
1763
  case 'text-file-busy': {
1642
- enum3 = 35;
1764
+ enum4 = 35;
1643
1765
  break;
1644
1766
  }
1645
1767
  case 'cross-device': {
1646
- enum3 = 36;
1768
+ enum4 = 36;
1647
1769
  break;
1648
1770
  }
1649
1771
  default: {
@@ -1651,10 +1773,10 @@ function trampoline18(arg0, arg1) {
1651
1773
  console.error(e);
1652
1774
  }
1653
1775
 
1654
- throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1776
+ throw new TypeError(`"${val4}" is not one of the cases of error-code`);
1655
1777
  }
1656
1778
  }
1657
- dataView(memory0).setInt8(arg1 + 8, enum3, true);
1779
+ dataView(memory0).setInt8(arg1 + 8, enum4, true);
1658
1780
  break;
1659
1781
  }
1660
1782
  default: {
@@ -1665,163 +1787,170 @@ function trampoline18(arg0, arg1) {
1665
1787
 
1666
1788
  function trampoline19(arg0, arg1) {
1667
1789
  var handle1 = arg0;
1668
- var rsc0 = handleTable0.get(handle1).rep;
1790
+ var rep2 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;
1791
+ var rsc0 = captureTable0.get(rep2);
1792
+ if (!rsc0) {
1793
+ rsc0 = Object.create(Error$1.prototype);
1794
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1795
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1796
+ }
1669
1797
  const ret = filesystemErrorCode(rsc0);
1670
- var variant3 = ret;
1671
- if (variant3 === null || variant3=== undefined) {
1798
+ rsc0[symbolRscHandle] = null;
1799
+ var variant4 = ret;
1800
+ if (variant4 === null || variant4=== undefined) {
1672
1801
  dataView(memory0).setInt8(arg1 + 0, 0, true);
1673
1802
  } else {
1674
- const e = variant3;
1803
+ const e = variant4;
1675
1804
  dataView(memory0).setInt8(arg1 + 0, 1, true);
1676
- var val2 = e;
1677
- let enum2;
1678
- switch (val2) {
1805
+ var val3 = e;
1806
+ let enum3;
1807
+ switch (val3) {
1679
1808
  case 'access': {
1680
- enum2 = 0;
1809
+ enum3 = 0;
1681
1810
  break;
1682
1811
  }
1683
1812
  case 'would-block': {
1684
- enum2 = 1;
1813
+ enum3 = 1;
1685
1814
  break;
1686
1815
  }
1687
1816
  case 'already': {
1688
- enum2 = 2;
1817
+ enum3 = 2;
1689
1818
  break;
1690
1819
  }
1691
1820
  case 'bad-descriptor': {
1692
- enum2 = 3;
1821
+ enum3 = 3;
1693
1822
  break;
1694
1823
  }
1695
1824
  case 'busy': {
1696
- enum2 = 4;
1825
+ enum3 = 4;
1697
1826
  break;
1698
1827
  }
1699
1828
  case 'deadlock': {
1700
- enum2 = 5;
1829
+ enum3 = 5;
1701
1830
  break;
1702
1831
  }
1703
1832
  case 'quota': {
1704
- enum2 = 6;
1833
+ enum3 = 6;
1705
1834
  break;
1706
1835
  }
1707
1836
  case 'exist': {
1708
- enum2 = 7;
1837
+ enum3 = 7;
1709
1838
  break;
1710
1839
  }
1711
1840
  case 'file-too-large': {
1712
- enum2 = 8;
1841
+ enum3 = 8;
1713
1842
  break;
1714
1843
  }
1715
1844
  case 'illegal-byte-sequence': {
1716
- enum2 = 9;
1845
+ enum3 = 9;
1717
1846
  break;
1718
1847
  }
1719
1848
  case 'in-progress': {
1720
- enum2 = 10;
1849
+ enum3 = 10;
1721
1850
  break;
1722
1851
  }
1723
1852
  case 'interrupted': {
1724
- enum2 = 11;
1853
+ enum3 = 11;
1725
1854
  break;
1726
1855
  }
1727
1856
  case 'invalid': {
1728
- enum2 = 12;
1857
+ enum3 = 12;
1729
1858
  break;
1730
1859
  }
1731
1860
  case 'io': {
1732
- enum2 = 13;
1861
+ enum3 = 13;
1733
1862
  break;
1734
1863
  }
1735
1864
  case 'is-directory': {
1736
- enum2 = 14;
1865
+ enum3 = 14;
1737
1866
  break;
1738
1867
  }
1739
1868
  case 'loop': {
1740
- enum2 = 15;
1869
+ enum3 = 15;
1741
1870
  break;
1742
1871
  }
1743
1872
  case 'too-many-links': {
1744
- enum2 = 16;
1873
+ enum3 = 16;
1745
1874
  break;
1746
1875
  }
1747
1876
  case 'message-size': {
1748
- enum2 = 17;
1877
+ enum3 = 17;
1749
1878
  break;
1750
1879
  }
1751
1880
  case 'name-too-long': {
1752
- enum2 = 18;
1881
+ enum3 = 18;
1753
1882
  break;
1754
1883
  }
1755
1884
  case 'no-device': {
1756
- enum2 = 19;
1885
+ enum3 = 19;
1757
1886
  break;
1758
1887
  }
1759
1888
  case 'no-entry': {
1760
- enum2 = 20;
1889
+ enum3 = 20;
1761
1890
  break;
1762
1891
  }
1763
1892
  case 'no-lock': {
1764
- enum2 = 21;
1893
+ enum3 = 21;
1765
1894
  break;
1766
1895
  }
1767
1896
  case 'insufficient-memory': {
1768
- enum2 = 22;
1897
+ enum3 = 22;
1769
1898
  break;
1770
1899
  }
1771
1900
  case 'insufficient-space': {
1772
- enum2 = 23;
1901
+ enum3 = 23;
1773
1902
  break;
1774
1903
  }
1775
1904
  case 'not-directory': {
1776
- enum2 = 24;
1905
+ enum3 = 24;
1777
1906
  break;
1778
1907
  }
1779
1908
  case 'not-empty': {
1780
- enum2 = 25;
1909
+ enum3 = 25;
1781
1910
  break;
1782
1911
  }
1783
1912
  case 'not-recoverable': {
1784
- enum2 = 26;
1913
+ enum3 = 26;
1785
1914
  break;
1786
1915
  }
1787
1916
  case 'unsupported': {
1788
- enum2 = 27;
1917
+ enum3 = 27;
1789
1918
  break;
1790
1919
  }
1791
1920
  case 'no-tty': {
1792
- enum2 = 28;
1921
+ enum3 = 28;
1793
1922
  break;
1794
1923
  }
1795
1924
  case 'no-such-device': {
1796
- enum2 = 29;
1925
+ enum3 = 29;
1797
1926
  break;
1798
1927
  }
1799
1928
  case 'overflow': {
1800
- enum2 = 30;
1929
+ enum3 = 30;
1801
1930
  break;
1802
1931
  }
1803
1932
  case 'not-permitted': {
1804
- enum2 = 31;
1933
+ enum3 = 31;
1805
1934
  break;
1806
1935
  }
1807
1936
  case 'pipe': {
1808
- enum2 = 32;
1937
+ enum3 = 32;
1809
1938
  break;
1810
1939
  }
1811
1940
  case 'read-only': {
1812
- enum2 = 33;
1941
+ enum3 = 33;
1813
1942
  break;
1814
1943
  }
1815
1944
  case 'invalid-seek': {
1816
- enum2 = 34;
1945
+ enum3 = 34;
1817
1946
  break;
1818
1947
  }
1819
1948
  case 'text-file-busy': {
1820
- enum2 = 35;
1949
+ enum3 = 35;
1821
1950
  break;
1822
1951
  }
1823
1952
  case 'cross-device': {
1824
- enum2 = 36;
1953
+ enum3 = 36;
1825
1954
  break;
1826
1955
  }
1827
1956
  default: {
@@ -1829,50 +1958,62 @@ function trampoline19(arg0, arg1) {
1829
1958
  console.error(e);
1830
1959
  }
1831
1960
 
1832
- throw new TypeError(`"${val2}" is not one of the cases of error-code`);
1961
+ throw new TypeError(`"${val3}" is not one of the cases of error-code`);
1833
1962
  }
1834
1963
  }
1835
- dataView(memory0).setInt8(arg1 + 1, enum2, true);
1964
+ dataView(memory0).setInt8(arg1 + 1, enum3, true);
1836
1965
  }
1837
1966
  }
1838
1967
 
1839
1968
  function trampoline20(arg0, arg1, arg2) {
1840
1969
  var handle1 = arg0;
1841
- var rsc0 = handleTable1.get(handle1).rep;
1970
+ var rep2 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG;
1971
+ var rsc0 = captureTable1.get(rep2);
1972
+ if (!rsc0) {
1973
+ rsc0 = Object.create(InputStream.prototype);
1974
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
1975
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
1976
+ }
1842
1977
  let ret;
1843
1978
  try {
1844
- ret = { tag: 'ok', val: InputStream.prototype.read.call(rsc0, BigInt.asUintN(64, arg1)) };
1979
+ ret = { tag: 'ok', val: rsc0.read(BigInt.asUintN(64, arg1))};
1845
1980
  } catch (e) {
1846
1981
  ret = { tag: 'err', val: getErrorPayload(e) };
1847
1982
  }
1848
- var variant5 = ret;
1849
- switch (variant5.tag) {
1983
+ rsc0[symbolRscHandle] = null;
1984
+ var variant6 = ret;
1985
+ switch (variant6.tag) {
1850
1986
  case 'ok': {
1851
- const e = variant5.val;
1987
+ const e = variant6.val;
1852
1988
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1853
- var val2 = e;
1854
- var len2 = val2.byteLength;
1855
- var ptr2 = realloc0(0, 0, 1, len2 * 1);
1856
- var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
1857
- (new Uint8Array(memory0.buffer, ptr2, len2 * 1)).set(src2);
1858
- dataView(memory0).setInt32(arg2 + 8, len2, true);
1859
- dataView(memory0).setInt32(arg2 + 4, ptr2, true);
1989
+ var val3 = e;
1990
+ var len3 = val3.byteLength;
1991
+ var ptr3 = realloc0(0, 0, 1, len3 * 1);
1992
+ var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
1993
+ (new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
1994
+ dataView(memory0).setInt32(arg2 + 8, len3, true);
1995
+ dataView(memory0).setInt32(arg2 + 4, ptr3, true);
1860
1996
  break;
1861
1997
  }
1862
1998
  case 'err': {
1863
- const e = variant5.val;
1999
+ const e = variant6.val;
1864
2000
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1865
- var variant4 = e;
1866
- switch (variant4.tag) {
2001
+ var variant5 = e;
2002
+ switch (variant5.tag) {
1867
2003
  case 'last-operation-failed': {
1868
- const e = variant4.val;
2004
+ const e = variant5.val;
1869
2005
  dataView(memory0).setInt8(arg2 + 4, 0, true);
1870
2006
  if (!(e instanceof Error$1)) {
1871
2007
  throw new Error('Resource error: Not a valid "Error" resource.');
1872
2008
  }
1873
- var handle3 = handleCnt0++;
1874
- handleTable0.set(handle3, { rep: e, own: true });
1875
- dataView(memory0).setInt32(arg2 + 8, handle3, true);
2009
+ var handle4 = e[symbolRscHandle];
2010
+
2011
+ if (!handle4) {
2012
+ const rep = e[symbolRscRep] || ++captureCnt0;
2013
+ captureTable0.set(rep, e);
2014
+ handle4 = rscTableCreateOwn(handleTable0, rep);
2015
+ }
2016
+ dataView(memory0).setInt32(arg2 + 8, handle4, true);
1876
2017
  break;
1877
2018
  }
1878
2019
  case 'closed': {
@@ -1880,7 +2021,7 @@ function trampoline20(arg0, arg1, arg2) {
1880
2021
  break;
1881
2022
  }
1882
2023
  default: {
1883
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
2024
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``);
1884
2025
  }
1885
2026
  }
1886
2027
  break;
@@ -1893,41 +2034,53 @@ function trampoline20(arg0, arg1, arg2) {
1893
2034
 
1894
2035
  function trampoline21(arg0, arg1, arg2) {
1895
2036
  var handle1 = arg0;
1896
- var rsc0 = handleTable1.get(handle1).rep;
2037
+ var rep2 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG;
2038
+ var rsc0 = captureTable1.get(rep2);
2039
+ if (!rsc0) {
2040
+ rsc0 = Object.create(InputStream.prototype);
2041
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2042
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2043
+ }
1897
2044
  let ret;
1898
2045
  try {
1899
- ret = { tag: 'ok', val: InputStream.prototype.blockingRead.call(rsc0, BigInt.asUintN(64, arg1)) };
2046
+ ret = { tag: 'ok', val: rsc0.blockingRead(BigInt.asUintN(64, arg1))};
1900
2047
  } catch (e) {
1901
2048
  ret = { tag: 'err', val: getErrorPayload(e) };
1902
2049
  }
1903
- var variant5 = ret;
1904
- switch (variant5.tag) {
2050
+ rsc0[symbolRscHandle] = null;
2051
+ var variant6 = ret;
2052
+ switch (variant6.tag) {
1905
2053
  case 'ok': {
1906
- const e = variant5.val;
2054
+ const e = variant6.val;
1907
2055
  dataView(memory0).setInt8(arg2 + 0, 0, true);
1908
- var val2 = e;
1909
- var len2 = val2.byteLength;
1910
- var ptr2 = realloc0(0, 0, 1, len2 * 1);
1911
- var src2 = new Uint8Array(val2.buffer || val2, val2.byteOffset, len2 * 1);
1912
- (new Uint8Array(memory0.buffer, ptr2, len2 * 1)).set(src2);
1913
- dataView(memory0).setInt32(arg2 + 8, len2, true);
1914
- dataView(memory0).setInt32(arg2 + 4, ptr2, true);
2056
+ var val3 = e;
2057
+ var len3 = val3.byteLength;
2058
+ var ptr3 = realloc0(0, 0, 1, len3 * 1);
2059
+ var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1);
2060
+ (new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3);
2061
+ dataView(memory0).setInt32(arg2 + 8, len3, true);
2062
+ dataView(memory0).setInt32(arg2 + 4, ptr3, true);
1915
2063
  break;
1916
2064
  }
1917
2065
  case 'err': {
1918
- const e = variant5.val;
2066
+ const e = variant6.val;
1919
2067
  dataView(memory0).setInt8(arg2 + 0, 1, true);
1920
- var variant4 = e;
1921
- switch (variant4.tag) {
2068
+ var variant5 = e;
2069
+ switch (variant5.tag) {
1922
2070
  case 'last-operation-failed': {
1923
- const e = variant4.val;
2071
+ const e = variant5.val;
1924
2072
  dataView(memory0).setInt8(arg2 + 4, 0, true);
1925
2073
  if (!(e instanceof Error$1)) {
1926
2074
  throw new Error('Resource error: Not a valid "Error" resource.');
1927
2075
  }
1928
- var handle3 = handleCnt0++;
1929
- handleTable0.set(handle3, { rep: e, own: true });
1930
- dataView(memory0).setInt32(arg2 + 8, handle3, true);
2076
+ var handle4 = e[symbolRscHandle];
2077
+
2078
+ if (!handle4) {
2079
+ const rep = e[symbolRscRep] || ++captureCnt0;
2080
+ captureTable0.set(rep, e);
2081
+ handle4 = rscTableCreateOwn(handleTable0, rep);
2082
+ }
2083
+ dataView(memory0).setInt32(arg2 + 8, handle4, true);
1931
2084
  break;
1932
2085
  }
1933
2086
  case 'closed': {
@@ -1935,7 +2088,7 @@ function trampoline21(arg0, arg1, arg2) {
1935
2088
  break;
1936
2089
  }
1937
2090
  default: {
1938
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
2091
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``);
1939
2092
  }
1940
2093
  }
1941
2094
  break;
@@ -1948,35 +2101,47 @@ function trampoline21(arg0, arg1, arg2) {
1948
2101
 
1949
2102
  function trampoline22(arg0, arg1) {
1950
2103
  var handle1 = arg0;
1951
- var rsc0 = handleTable2.get(handle1).rep;
2104
+ var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG;
2105
+ var rsc0 = captureTable2.get(rep2);
2106
+ if (!rsc0) {
2107
+ rsc0 = Object.create(OutputStream.prototype);
2108
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2109
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2110
+ }
1952
2111
  let ret;
1953
2112
  try {
1954
- ret = { tag: 'ok', val: OutputStream.prototype.checkWrite.call(rsc0) };
2113
+ ret = { tag: 'ok', val: rsc0.checkWrite()};
1955
2114
  } catch (e) {
1956
2115
  ret = { tag: 'err', val: getErrorPayload(e) };
1957
2116
  }
1958
- var variant4 = ret;
1959
- switch (variant4.tag) {
2117
+ rsc0[symbolRscHandle] = null;
2118
+ var variant5 = ret;
2119
+ switch (variant5.tag) {
1960
2120
  case 'ok': {
1961
- const e = variant4.val;
2121
+ const e = variant5.val;
1962
2122
  dataView(memory0).setInt8(arg1 + 0, 0, true);
1963
2123
  dataView(memory0).setBigInt64(arg1 + 8, toUint64(e), true);
1964
2124
  break;
1965
2125
  }
1966
2126
  case 'err': {
1967
- const e = variant4.val;
2127
+ const e = variant5.val;
1968
2128
  dataView(memory0).setInt8(arg1 + 0, 1, true);
1969
- var variant3 = e;
1970
- switch (variant3.tag) {
2129
+ var variant4 = e;
2130
+ switch (variant4.tag) {
1971
2131
  case 'last-operation-failed': {
1972
- const e = variant3.val;
2132
+ const e = variant4.val;
1973
2133
  dataView(memory0).setInt8(arg1 + 8, 0, true);
1974
2134
  if (!(e instanceof Error$1)) {
1975
2135
  throw new Error('Resource error: Not a valid "Error" resource.');
1976
2136
  }
1977
- var handle2 = handleCnt0++;
1978
- handleTable0.set(handle2, { rep: e, own: true });
1979
- dataView(memory0).setInt32(arg1 + 12, handle2, true);
2137
+ var handle3 = e[symbolRscHandle];
2138
+
2139
+ if (!handle3) {
2140
+ const rep = e[symbolRscRep] || ++captureCnt0;
2141
+ captureTable0.set(rep, e);
2142
+ handle3 = rscTableCreateOwn(handleTable0, rep);
2143
+ }
2144
+ dataView(memory0).setInt32(arg1 + 12, handle3, true);
1980
2145
  break;
1981
2146
  }
1982
2147
  case 'closed': {
@@ -1984,7 +2149,7 @@ function trampoline22(arg0, arg1) {
1984
2149
  break;
1985
2150
  }
1986
2151
  default: {
1987
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
2152
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
1988
2153
  }
1989
2154
  }
1990
2155
  break;
@@ -1997,37 +2162,49 @@ function trampoline22(arg0, arg1) {
1997
2162
 
1998
2163
  function trampoline23(arg0, arg1, arg2, arg3) {
1999
2164
  var handle1 = arg0;
2000
- var rsc0 = handleTable2.get(handle1).rep;
2001
- var ptr2 = arg1;
2002
- var len2 = arg2;
2003
- var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
2165
+ var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG;
2166
+ var rsc0 = captureTable2.get(rep2);
2167
+ if (!rsc0) {
2168
+ rsc0 = Object.create(OutputStream.prototype);
2169
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2170
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2171
+ }
2172
+ var ptr3 = arg1;
2173
+ var len3 = arg2;
2174
+ var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
2004
2175
  let ret;
2005
2176
  try {
2006
- ret = { tag: 'ok', val: OutputStream.prototype.write.call(rsc0, result2) };
2177
+ ret = { tag: 'ok', val: rsc0.write(result3)};
2007
2178
  } catch (e) {
2008
2179
  ret = { tag: 'err', val: getErrorPayload(e) };
2009
2180
  }
2010
- var variant5 = ret;
2011
- switch (variant5.tag) {
2181
+ rsc0[symbolRscHandle] = null;
2182
+ var variant6 = ret;
2183
+ switch (variant6.tag) {
2012
2184
  case 'ok': {
2013
- const e = variant5.val;
2185
+ const e = variant6.val;
2014
2186
  dataView(memory0).setInt8(arg3 + 0, 0, true);
2015
2187
  break;
2016
2188
  }
2017
2189
  case 'err': {
2018
- const e = variant5.val;
2190
+ const e = variant6.val;
2019
2191
  dataView(memory0).setInt8(arg3 + 0, 1, true);
2020
- var variant4 = e;
2021
- switch (variant4.tag) {
2192
+ var variant5 = e;
2193
+ switch (variant5.tag) {
2022
2194
  case 'last-operation-failed': {
2023
- const e = variant4.val;
2195
+ const e = variant5.val;
2024
2196
  dataView(memory0).setInt8(arg3 + 4, 0, true);
2025
2197
  if (!(e instanceof Error$1)) {
2026
2198
  throw new Error('Resource error: Not a valid "Error" resource.');
2027
2199
  }
2028
- var handle3 = handleCnt0++;
2029
- handleTable0.set(handle3, { rep: e, own: true });
2030
- dataView(memory0).setInt32(arg3 + 8, handle3, true);
2200
+ var handle4 = e[symbolRscHandle];
2201
+
2202
+ if (!handle4) {
2203
+ const rep = e[symbolRscRep] || ++captureCnt0;
2204
+ captureTable0.set(rep, e);
2205
+ handle4 = rscTableCreateOwn(handleTable0, rep);
2206
+ }
2207
+ dataView(memory0).setInt32(arg3 + 8, handle4, true);
2031
2208
  break;
2032
2209
  }
2033
2210
  case 'closed': {
@@ -2035,7 +2212,7 @@ function trampoline23(arg0, arg1, arg2, arg3) {
2035
2212
  break;
2036
2213
  }
2037
2214
  default: {
2038
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
2215
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``);
2039
2216
  }
2040
2217
  }
2041
2218
  break;
@@ -2048,37 +2225,49 @@ function trampoline23(arg0, arg1, arg2, arg3) {
2048
2225
 
2049
2226
  function trampoline24(arg0, arg1, arg2, arg3) {
2050
2227
  var handle1 = arg0;
2051
- var rsc0 = handleTable2.get(handle1).rep;
2052
- var ptr2 = arg1;
2053
- var len2 = arg2;
2054
- var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + len2 * 1));
2228
+ var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG;
2229
+ var rsc0 = captureTable2.get(rep2);
2230
+ if (!rsc0) {
2231
+ rsc0 = Object.create(OutputStream.prototype);
2232
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2233
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2234
+ }
2235
+ var ptr3 = arg1;
2236
+ var len3 = arg2;
2237
+ var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));
2055
2238
  let ret;
2056
2239
  try {
2057
- ret = { tag: 'ok', val: OutputStream.prototype.blockingWriteAndFlush.call(rsc0, result2) };
2240
+ ret = { tag: 'ok', val: rsc0.blockingWriteAndFlush(result3)};
2058
2241
  } catch (e) {
2059
2242
  ret = { tag: 'err', val: getErrorPayload(e) };
2060
2243
  }
2061
- var variant5 = ret;
2062
- switch (variant5.tag) {
2244
+ rsc0[symbolRscHandle] = null;
2245
+ var variant6 = ret;
2246
+ switch (variant6.tag) {
2063
2247
  case 'ok': {
2064
- const e = variant5.val;
2248
+ const e = variant6.val;
2065
2249
  dataView(memory0).setInt8(arg3 + 0, 0, true);
2066
2250
  break;
2067
2251
  }
2068
2252
  case 'err': {
2069
- const e = variant5.val;
2253
+ const e = variant6.val;
2070
2254
  dataView(memory0).setInt8(arg3 + 0, 1, true);
2071
- var variant4 = e;
2072
- switch (variant4.tag) {
2255
+ var variant5 = e;
2256
+ switch (variant5.tag) {
2073
2257
  case 'last-operation-failed': {
2074
- const e = variant4.val;
2258
+ const e = variant5.val;
2075
2259
  dataView(memory0).setInt8(arg3 + 4, 0, true);
2076
2260
  if (!(e instanceof Error$1)) {
2077
2261
  throw new Error('Resource error: Not a valid "Error" resource.');
2078
2262
  }
2079
- var handle3 = handleCnt0++;
2080
- handleTable0.set(handle3, { rep: e, own: true });
2081
- dataView(memory0).setInt32(arg3 + 8, handle3, true);
2263
+ var handle4 = e[symbolRscHandle];
2264
+
2265
+ if (!handle4) {
2266
+ const rep = e[symbolRscRep] || ++captureCnt0;
2267
+ captureTable0.set(rep, e);
2268
+ handle4 = rscTableCreateOwn(handleTable0, rep);
2269
+ }
2270
+ dataView(memory0).setInt32(arg3 + 8, handle4, true);
2082
2271
  break;
2083
2272
  }
2084
2273
  case 'closed': {
@@ -2086,7 +2275,7 @@ function trampoline24(arg0, arg1, arg2, arg3) {
2086
2275
  break;
2087
2276
  }
2088
2277
  default: {
2089
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
2278
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``);
2090
2279
  }
2091
2280
  }
2092
2281
  break;
@@ -2099,34 +2288,46 @@ function trampoline24(arg0, arg1, arg2, arg3) {
2099
2288
 
2100
2289
  function trampoline25(arg0, arg1) {
2101
2290
  var handle1 = arg0;
2102
- var rsc0 = handleTable2.get(handle1).rep;
2291
+ var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG;
2292
+ var rsc0 = captureTable2.get(rep2);
2293
+ if (!rsc0) {
2294
+ rsc0 = Object.create(OutputStream.prototype);
2295
+ Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});
2296
+ Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});
2297
+ }
2103
2298
  let ret;
2104
2299
  try {
2105
- ret = { tag: 'ok', val: OutputStream.prototype.blockingFlush.call(rsc0) };
2300
+ ret = { tag: 'ok', val: rsc0.blockingFlush()};
2106
2301
  } catch (e) {
2107
2302
  ret = { tag: 'err', val: getErrorPayload(e) };
2108
2303
  }
2109
- var variant4 = ret;
2110
- switch (variant4.tag) {
2304
+ rsc0[symbolRscHandle] = null;
2305
+ var variant5 = ret;
2306
+ switch (variant5.tag) {
2111
2307
  case 'ok': {
2112
- const e = variant4.val;
2308
+ const e = variant5.val;
2113
2309
  dataView(memory0).setInt8(arg1 + 0, 0, true);
2114
2310
  break;
2115
2311
  }
2116
2312
  case 'err': {
2117
- const e = variant4.val;
2313
+ const e = variant5.val;
2118
2314
  dataView(memory0).setInt8(arg1 + 0, 1, true);
2119
- var variant3 = e;
2120
- switch (variant3.tag) {
2315
+ var variant4 = e;
2316
+ switch (variant4.tag) {
2121
2317
  case 'last-operation-failed': {
2122
- const e = variant3.val;
2318
+ const e = variant4.val;
2123
2319
  dataView(memory0).setInt8(arg1 + 4, 0, true);
2124
2320
  if (!(e instanceof Error$1)) {
2125
2321
  throw new Error('Resource error: Not a valid "Error" resource.');
2126
2322
  }
2127
- var handle2 = handleCnt0++;
2128
- handleTable0.set(handle2, { rep: e, own: true });
2129
- dataView(memory0).setInt32(arg1 + 8, handle2, true);
2323
+ var handle3 = e[symbolRscHandle];
2324
+
2325
+ if (!handle3) {
2326
+ const rep = e[symbolRscRep] || ++captureCnt0;
2327
+ captureTable0.set(rep, e);
2328
+ handle3 = rscTableCreateOwn(handleTable0, rep);
2329
+ }
2330
+ dataView(memory0).setInt32(arg1 + 8, handle3, true);
2130
2331
  break;
2131
2332
  }
2132
2333
  case 'closed': {
@@ -2134,7 +2335,7 @@ function trampoline25(arg0, arg1) {
2134
2335
  break;
2135
2336
  }
2136
2337
  default: {
2137
- throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`StreamError\``);
2338
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``);
2138
2339
  }
2139
2340
  }
2140
2341
  break;
@@ -2188,8 +2389,13 @@ function trampoline28(arg0) {
2188
2389
  if (!(e instanceof TerminalInput)) {
2189
2390
  throw new Error('Resource error: Not a valid "TerminalInput" resource.');
2190
2391
  }
2191
- var handle0 = handleCnt3++;
2192
- handleTable3.set(handle0, { rep: e, own: true });
2392
+ var handle0 = e[symbolRscHandle];
2393
+
2394
+ if (!handle0) {
2395
+ const rep = e[symbolRscRep] || ++captureCnt3;
2396
+ captureTable3.set(rep, e);
2397
+ handle0 = rscTableCreateOwn(handleTable3, rep);
2398
+ }
2193
2399
  dataView(memory0).setInt32(arg0 + 4, handle0, true);
2194
2400
  }
2195
2401
  }
@@ -2205,8 +2411,13 @@ function trampoline29(arg0) {
2205
2411
  if (!(e instanceof TerminalOutput)) {
2206
2412
  throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
2207
2413
  }
2208
- var handle0 = handleCnt4++;
2209
- handleTable4.set(handle0, { rep: e, own: true });
2414
+ var handle0 = e[symbolRscHandle];
2415
+
2416
+ if (!handle0) {
2417
+ const rep = e[symbolRscRep] || ++captureCnt4;
2418
+ captureTable4.set(rep, e);
2419
+ handle0 = rscTableCreateOwn(handleTable4, rep);
2420
+ }
2210
2421
  dataView(memory0).setInt32(arg0 + 4, handle0, true);
2211
2422
  }
2212
2423
  }
@@ -2222,8 +2433,13 @@ function trampoline30(arg0) {
2222
2433
  if (!(e instanceof TerminalOutput)) {
2223
2434
  throw new Error('Resource error: Not a valid "TerminalOutput" resource.');
2224
2435
  }
2225
- var handle0 = handleCnt4++;
2226
- handleTable4.set(handle0, { rep: e, own: true });
2436
+ var handle0 = e[symbolRscHandle];
2437
+
2438
+ if (!handle0) {
2439
+ const rep = e[symbolRscRep] || ++captureCnt4;
2440
+ captureTable4.set(rep, e);
2441
+ handle0 = rscTableCreateOwn(handleTable4, rep);
2442
+ }
2227
2443
  dataView(memory0).setInt32(arg0 + 4, handle0, true);
2228
2444
  }
2229
2445
  }
@@ -2231,80 +2447,115 @@ let exports3;
2231
2447
  let realloc1;
2232
2448
  let postReturn0;
2233
2449
  let postReturn1;
2450
+ const handleTable6 = [T_FLAG, 0];
2451
+ const captureTable6= new Map();
2452
+ let captureCnt6 = 0;
2453
+ handleTables[6] = handleTable6;
2234
2454
  function trampoline0(handle) {
2235
- const handleEntry = handleTable6.get(handle);
2236
- if (!handleEntry) {
2237
- throw new Error(`Resource error: Invalid handle ${handle}`);
2238
- }
2239
- handleTable6.delete(handle);
2240
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2241
- handleEntry.rep[symbolDispose]();
2455
+ const handleEntry = rscTableRemove(handleTable6, handle);
2456
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2457
+ const rsc = captureTable6.get(handleEntry.rep);
2458
+ if (rsc) {
2459
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2460
+ captureTable6.delete(handleEntry.rep);
2461
+ } else if (DirectoryEntryStream[symbolCabiDispose]) {
2462
+ DirectoryEntryStream[symbolCabiDispose](handleEntry.rep);
2242
2463
  }
2243
2464
  }
2465
+ const handleTable0 = [T_FLAG, 0];
2466
+ const captureTable0= new Map();
2467
+ let captureCnt0 = 0;
2468
+ handleTables[0] = handleTable0;
2244
2469
  function trampoline1(handle) {
2245
- const handleEntry = handleTable0.get(handle);
2246
- if (!handleEntry) {
2247
- throw new Error(`Resource error: Invalid handle ${handle}`);
2248
- }
2249
- handleTable0.delete(handle);
2250
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2251
- handleEntry.rep[symbolDispose]();
2470
+ const handleEntry = rscTableRemove(handleTable0, handle);
2471
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2472
+ const rsc = captureTable0.get(handleEntry.rep);
2473
+ if (rsc) {
2474
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2475
+ captureTable0.delete(handleEntry.rep);
2476
+ } else if (Error$1[symbolCabiDispose]) {
2477
+ Error$1[symbolCabiDispose](handleEntry.rep);
2252
2478
  }
2253
2479
  }
2480
+ const handleTable1 = [T_FLAG, 0];
2481
+ const captureTable1= new Map();
2482
+ let captureCnt1 = 0;
2483
+ handleTables[1] = handleTable1;
2254
2484
  function trampoline2(handle) {
2255
- const handleEntry = handleTable1.get(handle);
2256
- if (!handleEntry) {
2257
- throw new Error(`Resource error: Invalid handle ${handle}`);
2258
- }
2259
- handleTable1.delete(handle);
2260
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2261
- handleEntry.rep[symbolDispose]();
2485
+ const handleEntry = rscTableRemove(handleTable1, handle);
2486
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2487
+ const rsc = captureTable1.get(handleEntry.rep);
2488
+ if (rsc) {
2489
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2490
+ captureTable1.delete(handleEntry.rep);
2491
+ } else if (InputStream[symbolCabiDispose]) {
2492
+ InputStream[symbolCabiDispose](handleEntry.rep);
2262
2493
  }
2263
2494
  }
2495
+ const handleTable2 = [T_FLAG, 0];
2496
+ const captureTable2= new Map();
2497
+ let captureCnt2 = 0;
2498
+ handleTables[2] = handleTable2;
2264
2499
  function trampoline3(handle) {
2265
- const handleEntry = handleTable2.get(handle);
2266
- if (!handleEntry) {
2267
- throw new Error(`Resource error: Invalid handle ${handle}`);
2268
- }
2269
- handleTable2.delete(handle);
2270
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2271
- handleEntry.rep[symbolDispose]();
2500
+ const handleEntry = rscTableRemove(handleTable2, handle);
2501
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2502
+ const rsc = captureTable2.get(handleEntry.rep);
2503
+ if (rsc) {
2504
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2505
+ captureTable2.delete(handleEntry.rep);
2506
+ } else if (OutputStream[symbolCabiDispose]) {
2507
+ OutputStream[symbolCabiDispose](handleEntry.rep);
2272
2508
  }
2273
2509
  }
2510
+ const handleTable5 = [T_FLAG, 0];
2511
+ const captureTable5= new Map();
2512
+ let captureCnt5 = 0;
2513
+ handleTables[5] = handleTable5;
2274
2514
  function trampoline4(handle) {
2275
- const handleEntry = handleTable5.get(handle);
2276
- if (!handleEntry) {
2277
- throw new Error(`Resource error: Invalid handle ${handle}`);
2278
- }
2279
- handleTable5.delete(handle);
2280
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2281
- handleEntry.rep[symbolDispose]();
2515
+ const handleEntry = rscTableRemove(handleTable5, handle);
2516
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2517
+ const rsc = captureTable5.get(handleEntry.rep);
2518
+ if (rsc) {
2519
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2520
+ captureTable5.delete(handleEntry.rep);
2521
+ } else if (Descriptor[symbolCabiDispose]) {
2522
+ Descriptor[symbolCabiDispose](handleEntry.rep);
2282
2523
  }
2283
2524
  }
2284
- function trampoline5(handle) {
2285
- const handleEntry = handleTable3.get(handle);
2286
- if (!handleEntry) {
2287
- throw new Error(`Resource error: Invalid handle ${handle}`);
2288
- }
2289
- handleTable3.delete(handle);
2290
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2291
- handleEntry.rep[symbolDispose]();
2525
+ const handleTable4 = [T_FLAG, 0];
2526
+ const captureTable4= new Map();
2527
+ let captureCnt4 = 0;
2528
+ handleTables[4] = handleTable4;
2529
+ function trampoline9(handle) {
2530
+ const handleEntry = rscTableRemove(handleTable4, handle);
2531
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2532
+ const rsc = captureTable4.get(handleEntry.rep);
2533
+ if (rsc) {
2534
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2535
+ captureTable4.delete(handleEntry.rep);
2536
+ } else if (TerminalOutput[symbolCabiDispose]) {
2537
+ TerminalOutput[symbolCabiDispose](handleEntry.rep);
2292
2538
  }
2293
2539
  }
2294
- function trampoline6(handle) {
2295
- const handleEntry = handleTable4.get(handle);
2296
- if (!handleEntry) {
2297
- throw new Error(`Resource error: Invalid handle ${handle}`);
2298
- }
2299
- handleTable4.delete(handle);
2300
- if (handleEntry.own && handleEntry.rep[symbolDispose]) {
2301
- handleEntry.rep[symbolDispose]();
2540
+ const handleTable3 = [T_FLAG, 0];
2541
+ const captureTable3= new Map();
2542
+ let captureCnt3 = 0;
2543
+ handleTables[3] = handleTable3;
2544
+ function trampoline10(handle) {
2545
+ const handleEntry = rscTableRemove(handleTable3, handle);
2546
+ if (!handleEntry.own) throw new Error('Internal error: Unexpected borrow handle');
2547
+ const rsc = captureTable3.get(handleEntry.rep);
2548
+ if (rsc) {
2549
+ if (rsc[symbolDispose]) rsc[symbolDispose]();
2550
+ captureTable3.delete(handleEntry.rep);
2551
+ } else if (TerminalInput[symbolCabiDispose]) {
2552
+ TerminalInput[symbolCabiDispose](handleEntry.rep);
2302
2553
  }
2303
2554
  }
2304
2555
 
2305
2556
  function generate(arg0, arg1) {
2306
2557
  if (!_initialized) throwUninitialized();
2307
- var ptr0 = realloc1(0, 0, 4, 56);
2558
+ var ptr0 = realloc1(0, 0, 4, 60);
2308
2559
  var val1 = arg0;
2309
2560
  var len1 = val1.byteLength;
2310
2561
  var ptr1 = realloc1(0, 0, 1, len1 * 1);
@@ -2312,7 +2563,7 @@ function generate(arg0, arg1) {
2312
2563
  (new Uint8Array(memory0.buffer, ptr1, len1 * 1)).set(src1);
2313
2564
  dataView(memory0).setInt32(ptr0 + 4, len1, true);
2314
2565
  dataView(memory0).setInt32(ptr0 + 0, ptr1, true);
2315
- var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, map: v2_3, compat: v2_4, noNodejsCompat: v2_5, base64Cutoff: v2_6, tlaCompat: v2_7, validLiftingOptimization: v2_8, tracing: v2_9, noNamespacedExports: v2_10, multiMemory: v2_11 } = arg1;
2566
+ var {name: v2_0, noTypescript: v2_1, instantiation: v2_2, importBindings: v2_3, map: v2_4, compat: v2_5, noNodejsCompat: v2_6, base64Cutoff: v2_7, tlaCompat: v2_8, validLiftingOptimization: v2_9, tracing: v2_10, noNamespacedExports: v2_11, multiMemory: v2_12 } = arg1;
2316
2567
  var ptr3 = utf8Encode(v2_0, realloc1, memory0);
2317
2568
  var len3 = utf8EncodedLen;
2318
2569
  dataView(memory0).setInt32(ptr0 + 12, len3, true);
@@ -2346,71 +2597,84 @@ function generate(arg0, arg1) {
2346
2597
  }
2347
2598
  }
2348
2599
  }
2349
- var variant11 = v2_3;
2350
- if (variant11 === null || variant11=== undefined) {
2600
+ var variant8 = v2_3;
2601
+ if (variant8 === null || variant8=== undefined) {
2351
2602
  dataView(memory0).setInt8(ptr0 + 20, 0, true);
2352
2603
  } else {
2353
- const e = variant11;
2604
+ const e = variant8;
2354
2605
  dataView(memory0).setInt8(ptr0 + 20, 1, true);
2355
- var vec10 = e;
2356
- var len10 = vec10.length;
2357
- var result10 = realloc1(0, 0, 4, len10 * 16);
2358
- for (let i = 0; i < vec10.length; i++) {
2359
- const e = vec10[i];
2360
- const base = result10 + i * 16;var [tuple7_0, tuple7_1] = e;
2361
- var ptr8 = utf8Encode(tuple7_0, realloc1, memory0);
2362
- var len8 = utf8EncodedLen;
2363
- dataView(memory0).setInt32(base + 4, len8, true);
2364
- dataView(memory0).setInt32(base + 0, ptr8, true);
2365
- var ptr9 = utf8Encode(tuple7_1, realloc1, memory0);
2366
- var len9 = utf8EncodedLen;
2367
- dataView(memory0).setInt32(base + 12, len9, true);
2368
- dataView(memory0).setInt32(base + 8, ptr9, true);
2369
- }
2370
- dataView(memory0).setInt32(ptr0 + 28, len10, true);
2371
- dataView(memory0).setInt32(ptr0 + 24, result10, true);
2372
- }
2373
- var variant12 = v2_4;
2374
- if (variant12 === null || variant12=== undefined) {
2375
- dataView(memory0).setInt8(ptr0 + 32, 0, true);
2376
- } else {
2377
- const e = variant12;
2378
- dataView(memory0).setInt8(ptr0 + 32, 1, true);
2379
- dataView(memory0).setInt8(ptr0 + 33, e ? 1 : 0, true);
2606
+ var variant7 = e;
2607
+ switch (variant7.tag) {
2608
+ case 'js': {
2609
+ dataView(memory0).setInt8(ptr0 + 21, 0, true);
2610
+ break;
2611
+ }
2612
+ case 'hybrid': {
2613
+ dataView(memory0).setInt8(ptr0 + 21, 1, true);
2614
+ break;
2615
+ }
2616
+ case 'optimized': {
2617
+ dataView(memory0).setInt8(ptr0 + 21, 2, true);
2618
+ break;
2619
+ }
2620
+ case 'direct-optimized': {
2621
+ dataView(memory0).setInt8(ptr0 + 21, 3, true);
2622
+ break;
2623
+ }
2624
+ default: {
2625
+ throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant7.tag)}\` (received \`${variant7}\`) specified for \`BindingsMode\``);
2626
+ }
2627
+ }
2380
2628
  }
2381
- var variant13 = v2_5;
2629
+ var variant13 = v2_4;
2382
2630
  if (variant13 === null || variant13=== undefined) {
2383
- dataView(memory0).setInt8(ptr0 + 34, 0, true);
2631
+ dataView(memory0).setInt8(ptr0 + 24, 0, true);
2384
2632
  } else {
2385
2633
  const e = variant13;
2386
- dataView(memory0).setInt8(ptr0 + 34, 1, true);
2387
- dataView(memory0).setInt8(ptr0 + 35, e ? 1 : 0, true);
2634
+ dataView(memory0).setInt8(ptr0 + 24, 1, true);
2635
+ var vec12 = e;
2636
+ var len12 = vec12.length;
2637
+ var result12 = realloc1(0, 0, 4, len12 * 16);
2638
+ for (let i = 0; i < vec12.length; i++) {
2639
+ const e = vec12[i];
2640
+ const base = result12 + i * 16;var [tuple9_0, tuple9_1] = e;
2641
+ var ptr10 = utf8Encode(tuple9_0, realloc1, memory0);
2642
+ var len10 = utf8EncodedLen;
2643
+ dataView(memory0).setInt32(base + 4, len10, true);
2644
+ dataView(memory0).setInt32(base + 0, ptr10, true);
2645
+ var ptr11 = utf8Encode(tuple9_1, realloc1, memory0);
2646
+ var len11 = utf8EncodedLen;
2647
+ dataView(memory0).setInt32(base + 12, len11, true);
2648
+ dataView(memory0).setInt32(base + 8, ptr11, true);
2649
+ }
2650
+ dataView(memory0).setInt32(ptr0 + 32, len12, true);
2651
+ dataView(memory0).setInt32(ptr0 + 28, result12, true);
2388
2652
  }
2389
- var variant14 = v2_6;
2653
+ var variant14 = v2_5;
2390
2654
  if (variant14 === null || variant14=== undefined) {
2391
2655
  dataView(memory0).setInt8(ptr0 + 36, 0, true);
2392
2656
  } else {
2393
2657
  const e = variant14;
2394
2658
  dataView(memory0).setInt8(ptr0 + 36, 1, true);
2395
- dataView(memory0).setInt32(ptr0 + 40, toUint32(e), true);
2659
+ dataView(memory0).setInt8(ptr0 + 37, e ? 1 : 0, true);
2396
2660
  }
2397
- var variant15 = v2_7;
2661
+ var variant15 = v2_6;
2398
2662
  if (variant15 === null || variant15=== undefined) {
2399
- dataView(memory0).setInt8(ptr0 + 44, 0, true);
2663
+ dataView(memory0).setInt8(ptr0 + 38, 0, true);
2400
2664
  } else {
2401
2665
  const e = variant15;
2402
- dataView(memory0).setInt8(ptr0 + 44, 1, true);
2403
- dataView(memory0).setInt8(ptr0 + 45, e ? 1 : 0, true);
2666
+ dataView(memory0).setInt8(ptr0 + 38, 1, true);
2667
+ dataView(memory0).setInt8(ptr0 + 39, e ? 1 : 0, true);
2404
2668
  }
2405
- var variant16 = v2_8;
2669
+ var variant16 = v2_7;
2406
2670
  if (variant16 === null || variant16=== undefined) {
2407
- dataView(memory0).setInt8(ptr0 + 46, 0, true);
2671
+ dataView(memory0).setInt8(ptr0 + 40, 0, true);
2408
2672
  } else {
2409
2673
  const e = variant16;
2410
- dataView(memory0).setInt8(ptr0 + 46, 1, true);
2411
- dataView(memory0).setInt8(ptr0 + 47, e ? 1 : 0, true);
2674
+ dataView(memory0).setInt8(ptr0 + 40, 1, true);
2675
+ dataView(memory0).setInt32(ptr0 + 44, toUint32(e), true);
2412
2676
  }
2413
- var variant17 = v2_9;
2677
+ var variant17 = v2_8;
2414
2678
  if (variant17 === null || variant17=== undefined) {
2415
2679
  dataView(memory0).setInt8(ptr0 + 48, 0, true);
2416
2680
  } else {
@@ -2418,7 +2682,7 @@ function generate(arg0, arg1) {
2418
2682
  dataView(memory0).setInt8(ptr0 + 48, 1, true);
2419
2683
  dataView(memory0).setInt8(ptr0 + 49, e ? 1 : 0, true);
2420
2684
  }
2421
- var variant18 = v2_10;
2685
+ var variant18 = v2_9;
2422
2686
  if (variant18 === null || variant18=== undefined) {
2423
2687
  dataView(memory0).setInt8(ptr0 + 50, 0, true);
2424
2688
  } else {
@@ -2426,7 +2690,7 @@ function generate(arg0, arg1) {
2426
2690
  dataView(memory0).setInt8(ptr0 + 50, 1, true);
2427
2691
  dataView(memory0).setInt8(ptr0 + 51, e ? 1 : 0, true);
2428
2692
  }
2429
- var variant19 = v2_11;
2693
+ var variant19 = v2_10;
2430
2694
  if (variant19 === null || variant19=== undefined) {
2431
2695
  dataView(memory0).setInt8(ptr0 + 52, 0, true);
2432
2696
  } else {
@@ -2434,74 +2698,90 @@ function generate(arg0, arg1) {
2434
2698
  dataView(memory0).setInt8(ptr0 + 52, 1, true);
2435
2699
  dataView(memory0).setInt8(ptr0 + 53, e ? 1 : 0, true);
2436
2700
  }
2701
+ var variant20 = v2_11;
2702
+ if (variant20 === null || variant20=== undefined) {
2703
+ dataView(memory0).setInt8(ptr0 + 54, 0, true);
2704
+ } else {
2705
+ const e = variant20;
2706
+ dataView(memory0).setInt8(ptr0 + 54, 1, true);
2707
+ dataView(memory0).setInt8(ptr0 + 55, e ? 1 : 0, true);
2708
+ }
2709
+ var variant21 = v2_12;
2710
+ if (variant21 === null || variant21=== undefined) {
2711
+ dataView(memory0).setInt8(ptr0 + 56, 0, true);
2712
+ } else {
2713
+ const e = variant21;
2714
+ dataView(memory0).setInt8(ptr0 + 56, 1, true);
2715
+ dataView(memory0).setInt8(ptr0 + 57, e ? 1 : 0, true);
2716
+ }
2437
2717
  const ret = exports1.generate(ptr0);
2438
- let variant29;
2718
+ let variant31;
2439
2719
  switch (dataView(memory0).getUint8(ret + 0, true)) {
2440
2720
  case 0: {
2441
- var len22 = dataView(memory0).getInt32(ret + 8, true);
2442
- var base22 = dataView(memory0).getInt32(ret + 4, true);
2443
- var result22 = [];
2444
- for (let i = 0; i < len22; i++) {
2445
- const base = base22 + i * 16;
2446
- var ptr20 = dataView(memory0).getInt32(base + 0, true);
2447
- var len20 = dataView(memory0).getInt32(base + 4, true);
2448
- var result20 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr20, len20));
2449
- var ptr21 = dataView(memory0).getInt32(base + 8, true);
2450
- var len21 = dataView(memory0).getInt32(base + 12, true);
2451
- var result21 = new Uint8Array(memory0.buffer.slice(ptr21, ptr21 + len21 * 1));
2452
- result22.push([result20, result21]);
2453
- }
2454
- var len24 = dataView(memory0).getInt32(ret + 16, true);
2455
- var base24 = dataView(memory0).getInt32(ret + 12, true);
2721
+ var len24 = dataView(memory0).getInt32(ret + 8, true);
2722
+ var base24 = dataView(memory0).getInt32(ret + 4, true);
2456
2723
  var result24 = [];
2457
2724
  for (let i = 0; i < len24; i++) {
2458
- const base = base24 + i * 8;
2459
- var ptr23 = dataView(memory0).getInt32(base + 0, true);
2460
- var len23 = dataView(memory0).getInt32(base + 4, true);
2461
- var result23 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr23, len23));
2462
- result24.push(result23);
2463
- }
2464
- var len27 = dataView(memory0).getInt32(ret + 24, true);
2465
- var base27 = dataView(memory0).getInt32(ret + 20, true);
2466
- var result27 = [];
2467
- for (let i = 0; i < len27; i++) {
2468
- const base = base27 + i * 12;
2725
+ const base = base24 + i * 16;
2726
+ var ptr22 = dataView(memory0).getInt32(base + 0, true);
2727
+ var len22 = dataView(memory0).getInt32(base + 4, true);
2728
+ var result22 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr22, len22));
2729
+ var ptr23 = dataView(memory0).getInt32(base + 8, true);
2730
+ var len23 = dataView(memory0).getInt32(base + 12, true);
2731
+ var result23 = new Uint8Array(memory0.buffer.slice(ptr23, ptr23 + len23 * 1));
2732
+ result24.push([result22, result23]);
2733
+ }
2734
+ var len26 = dataView(memory0).getInt32(ret + 16, true);
2735
+ var base26 = dataView(memory0).getInt32(ret + 12, true);
2736
+ var result26 = [];
2737
+ for (let i = 0; i < len26; i++) {
2738
+ const base = base26 + i * 8;
2469
2739
  var ptr25 = dataView(memory0).getInt32(base + 0, true);
2470
2740
  var len25 = dataView(memory0).getInt32(base + 4, true);
2471
2741
  var result25 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr25, len25));
2472
- let enum26;
2742
+ result26.push(result25);
2743
+ }
2744
+ var len29 = dataView(memory0).getInt32(ret + 24, true);
2745
+ var base29 = dataView(memory0).getInt32(ret + 20, true);
2746
+ var result29 = [];
2747
+ for (let i = 0; i < len29; i++) {
2748
+ const base = base29 + i * 12;
2749
+ var ptr27 = dataView(memory0).getInt32(base + 0, true);
2750
+ var len27 = dataView(memory0).getInt32(base + 4, true);
2751
+ var result27 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr27, len27));
2752
+ let enum28;
2473
2753
  switch (dataView(memory0).getUint8(base + 8, true)) {
2474
2754
  case 0: {
2475
- enum26 = 'function';
2755
+ enum28 = 'function';
2476
2756
  break;
2477
2757
  }
2478
2758
  case 1: {
2479
- enum26 = 'instance';
2759
+ enum28 = 'instance';
2480
2760
  break;
2481
2761
  }
2482
2762
  default: {
2483
2763
  throw new TypeError('invalid discriminant specified for ExportType');
2484
2764
  }
2485
2765
  }
2486
- result27.push([result25, enum26]);
2766
+ result29.push([result27, enum28]);
2487
2767
  }
2488
- variant29= {
2768
+ variant31= {
2489
2769
  tag: 'ok',
2490
2770
  val: {
2491
- files: result22,
2492
- imports: result24,
2493
- exports: result27,
2771
+ files: result24,
2772
+ imports: result26,
2773
+ exports: result29,
2494
2774
  }
2495
2775
  };
2496
2776
  break;
2497
2777
  }
2498
2778
  case 1: {
2499
- var ptr28 = dataView(memory0).getInt32(ret + 4, true);
2500
- var len28 = dataView(memory0).getInt32(ret + 8, true);
2501
- var result28 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr28, len28));
2502
- variant29= {
2779
+ var ptr30 = dataView(memory0).getInt32(ret + 4, true);
2780
+ var len30 = dataView(memory0).getInt32(ret + 8, true);
2781
+ var result30 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr30, len30));
2782
+ variant31= {
2503
2783
  tag: 'err',
2504
- val: result28
2784
+ val: result30
2505
2785
  };
2506
2786
  break;
2507
2787
  }
@@ -2510,10 +2790,10 @@ function generate(arg0, arg1) {
2510
2790
  }
2511
2791
  }
2512
2792
  postReturn0(ret);
2513
- if (variant29.tag === 'err') {
2514
- throw new ComponentError(variant29.val);
2793
+ if (variant31.tag === 'err') {
2794
+ throw new ComponentError(variant31.val);
2515
2795
  }
2516
- return variant29.val;
2796
+ return variant31.val;
2517
2797
  }
2518
2798
 
2519
2799
  function generateTypes(arg0, arg1) {
@@ -2685,27 +2965,13 @@ function generateTypes(arg0, arg1) {
2685
2965
  }
2686
2966
  return variant20.val;
2687
2967
  }
2688
- const handleTable0= new Map();
2689
- let handleCnt0 = 0;
2690
- const handleTable1= new Map();
2691
- let handleCnt1 = 0;
2692
- const handleTable2= new Map();
2693
- let handleCnt2 = 0;
2694
- const handleTable3= new Map();
2695
- let handleCnt3 = 0;
2696
- const handleTable4= new Map();
2697
- let handleCnt4 = 0;
2698
- const handleTable5= new Map();
2699
- let handleCnt5 = 0;
2700
- const handleTable6= new Map();
2701
- let handleCnt6 = 0;
2702
2968
 
2703
2969
  let _initialized = false;
2704
2970
  export const $init = (async() => {
2705
2971
  const module0 = fetchCompile(new URL('./js-component-bindgen-component.core.wasm', import.meta.url));
2706
2972
  const module1 = fetchCompile(new URL('./js-component-bindgen-component.core2.wasm', import.meta.url));
2707
- const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AAMgHwABAQICAgMCAgEBAgQEAgUAAAAABgcHCAgHBwkHCgsEBQFwAR8fB50BIAEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4IJGltcG9ydHMBAAqZAx8JACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxUAIAAgASACIAMgBCAFIAZBBhEDAAsLACAAIAFBBxECAAsLACAAIAFBCBECAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALCwAgACABQQsRAgALDwAgACABIAIgA0EMEQQACw8AIAAgASACIANBDREEAAsLACAAIAFBDhECAAsLACAAIAFBDxEFAAsJACAAQRARAAALCQAgAEEREQAACwkAIABBEhEAAAsJACAAQRMRAAALGQAgACABIAIgAyAEIAUgBiAHIAhBFBEGAAsLACAAIAFBFREHAAsLACAAIAFBFhEHAAsPACAAIAEgAiADQRcRCAALDwAgACABIAIgA0EYEQgACwsAIAAgAUEZEQcACwsAIAAgAUEaEQcACwkAIABBGxEJAAsLACAAIAFBHBEHAAsNACAAIAEgAkEdEQoACwkAIABBHhELAAsALglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAYwLjIxLjAA+g0EbmFtZQATEndpdC1jb21wb25lbnQ6c2hpbQHdDR8AN2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS9wcmVvcGVuc0AwLjIuMC1nZXQtZGlyZWN0b3JpZXMBR2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IucmVhZC12aWEtc3RyZWFtAkhpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLndyaXRlLXZpYS1zdHJlYW0DSWluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuYXBwZW5kLXZpYS1zdHJlYW0EQGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3IuZ2V0LXR5cGUFPGluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iuc3RhdAY/aW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5vcGVuLWF0B0VpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLm1ldGFkYXRhLWhhc2gIOmluZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1maWxlc3lzdGVtLWVycm9yLWNvZGUJOGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXWlucHV0LXN0cmVhbS5yZWFkCkFpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0uYmxvY2tpbmctcmVhZAtAaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5jaGVjay13cml0ZQw6aW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS53cml0ZQ1NaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2Rdb3V0cHV0LXN0cmVhbS5ibG9ja2luZy13cml0ZS1hbmQtZmx1c2gOQ2luZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctZmx1c2gPMmluZGlyZWN0LXdhc2k6cmFuZG9tL3JhbmRvbUAwLjIuMC1nZXQtcmFuZG9tLWJ5dGVzEDNpbmRpcmVjdC13YXNpOmNsaS9lbnZpcm9ubWVudEAwLjIuMC1nZXQtZW52aXJvbm1lbnQROWluZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGluQDAuMi4wLWdldC10ZXJtaW5hbC1zdGRpbhI7aW5kaXJlY3Qtd2FzaTpjbGkvdGVybWluYWwtc3Rkb3V0QDAuMi4wLWdldC10ZXJtaW5hbC1zdGRvdXQTO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZGVyckAwLjIuMC1nZXQtdGVybWluYWwtc3RkZXJyFCZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXBhdGhfb3BlbhUsYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9maWxlc3RhdF9nZXQWJ2FkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcmFuZG9tX2dldBckYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9yZWFkGCVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3dyaXRlGShhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fZ2V0Gi5hZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWVudmlyb25fc2l6ZXNfZ2V0GyVhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX2Nsb3NlHCthZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZ2V0HTBhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLWZkX3ByZXN0YXRfZGlyX25hbWUeJmFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtcHJvY19leGl0');
2708
- const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AALAASAAATAAAAABMQABAAEyAAEAATMAAgABNAACAAE1AAIAATYAAwABNwACAAE4AAIAATkAAQACMTAAAQACMTEAAgACMTIABAACMTMABAACMTQAAgACMTUABQACMTYAAAACMTcAAAACMTgAAAACMTkAAAACMjAABgACMjEABwACMjIABwACMjMACAACMjQACAACMjUABwACMjYABwACMjcACQACMjgABwACMjkACgACMzAACwAIJGltcG9ydHMBcAEfHwklAQBBAAsfAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgAuCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BjAuMjEuMAAcBG5hbWUAFRR3aXQtY29tcG9uZW50OmZpeHVwcw');
2973
+ const module2 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AAMgHwABAQICAgMCAgEBAgQEAgUAAAAABgcHCAgHBwkHCgsEBQFwAR8fB50BIAEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4IJGltcG9ydHMBAAqZAx8JACAAQQARAAALDQAgACABIAJBAREBAAsNACAAIAEgAkECEQEACwsAIAAgAUEDEQIACwsAIAAgAUEEEQIACwsAIAAgAUEFEQIACxUAIAAgASACIAMgBCAFIAZBBhEDAAsLACAAIAFBBxECAAsLACAAIAFBCBECAAsNACAAIAEgAkEJEQEACw0AIAAgASACQQoRAQALCwAgACABQQsRAgALDwAgACABIAIgA0EMEQQACw8AIAAgASACIANBDREEAAsLACAAIAFBDhECAAsLACAAIAFBDxEFAAsJACAAQRARAAALCQAgAEEREQAACwkAIABBEhEAAAsJACAAQRMRAAALGQAgACABIAIgAyAEIAUgBiAHIAhBFBEGAAsLACAAIAFBFREHAAsLACAAIAFBFhEHAAsPACAAIAEgAiADQRcRCAALDwAgACABIAIgA0EYEQgACwsAIAAgAUEZEQcACwsAIAAgAUEaEQcACwkAIABBGxEJAAsLACAAIAFBHBEHAAsNACAAIAEgAkEdEQoACwkAIABBHhELAAsALwlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAcwLjIwMS4wAPoNBG5hbWUAExJ3aXQtY29tcG9uZW50OnNoaW0B3Q0fADdpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vcHJlb3BlbnNAMC4yLjAtZ2V0LWRpcmVjdG9yaWVzAUdpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLnJlYWQtdmlhLXN0cmVhbQJIaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci53cml0ZS12aWEtc3RyZWFtA0lpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLmFwcGVuZC12aWEtc3RyZWFtBEBpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLmdldC10eXBlBTxpbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtW21ldGhvZF1kZXNjcmlwdG9yLnN0YXQGP2luZGlyZWN0LXdhc2k6ZmlsZXN5c3RlbS90eXBlc0AwLjIuMC1bbWV0aG9kXWRlc2NyaXB0b3Iub3Blbi1hdAdFaW5kaXJlY3Qtd2FzaTpmaWxlc3lzdGVtL3R5cGVzQDAuMi4wLVttZXRob2RdZGVzY3JpcHRvci5tZXRhZGF0YS1oYXNoCDppbmRpcmVjdC13YXNpOmZpbGVzeXN0ZW0vdHlwZXNAMC4yLjAtZmlsZXN5c3RlbS1lcnJvci1jb2RlCThpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1pbnB1dC1zdHJlYW0ucmVhZApBaW5kaXJlY3Qtd2FzaTppby9zdHJlYW1zQDAuMi4wLVttZXRob2RdaW5wdXQtc3RyZWFtLmJsb2NraW5nLXJlYWQLQGluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uY2hlY2std3JpdGUMOmluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0ud3JpdGUNTWluZGlyZWN0LXdhc2k6aW8vc3RyZWFtc0AwLjIuMC1bbWV0aG9kXW91dHB1dC1zdHJlYW0uYmxvY2tpbmctd3JpdGUtYW5kLWZsdXNoDkNpbmRpcmVjdC13YXNpOmlvL3N0cmVhbXNAMC4yLjAtW21ldGhvZF1vdXRwdXQtc3RyZWFtLmJsb2NraW5nLWZsdXNoDzJpbmRpcmVjdC13YXNpOnJhbmRvbS9yYW5kb21AMC4yLjAtZ2V0LXJhbmRvbS1ieXRlcxAzaW5kaXJlY3Qtd2FzaTpjbGkvZW52aXJvbm1lbnRAMC4yLjAtZ2V0LWVudmlyb25tZW50ETlpbmRpcmVjdC13YXNpOmNsaS90ZXJtaW5hbC1zdGRpbkAwLjIuMC1nZXQtdGVybWluYWwtc3RkaW4SO2luZGlyZWN0LXdhc2k6Y2xpL3Rlcm1pbmFsLXN0ZG91dEAwLjIuMC1nZXQtdGVybWluYWwtc3Rkb3V0EztpbmRpcmVjdC13YXNpOmNsaS90ZXJtaW5hbC1zdGRlcnJAMC4yLjAtZ2V0LXRlcm1pbmFsLXN0ZGVychQmYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1wYXRoX29wZW4VLGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfZmlsZXN0YXRfZ2V0FidhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXJhbmRvbV9nZXQXJGFkYXB0LXdhc2lfc25hcHNob3RfcHJldmlldzEtZmRfcmVhZBglYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF93cml0ZRkoYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1lbnZpcm9uX2dldBouYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1lbnZpcm9uX3NpemVzX2dldBslYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9jbG9zZRwrYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9wcmVzdGF0X2dldB0wYWRhcHQtd2FzaV9zbmFwc2hvdF9wcmV2aWV3MS1mZF9wcmVzdGF0X2Rpcl9uYW1lHiZhZGFwdC13YXNpX3NuYXBzaG90X3ByZXZpZXcxLXByb2NfZXhpdA');
2974
+ const module3 = base64Compile('AGFzbQEAAAABUQxgAX8AYAN/fn8AYAJ/fwBgB39/f39/f38AYAR/f39/AGACfn8AYAl/f39/f35+f38Bf2ACf38Bf2AEf39/fwF/YAF/AX9gA39/fwF/YAF/AALAASAAATAAAAABMQABAAEyAAEAATMAAgABNAACAAE1AAIAATYAAwABNwACAAE4AAIAATkAAQACMTAAAQACMTEAAgACMTIABAACMTMABAACMTQAAgACMTUABQACMTYAAAACMTcAAAACMTgAAAACMTkAAAACMjAABgACMjEABwACMjIABwACMjMACAACMjQACAACMjUABwACMjYABwACMjcACQACMjgABwACMjkACgACMzAACwAIJGltcG9ydHMBcAEfHwklAQBBAAsfAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgAvCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BzAuMjAxLjAAHARuYW1lABUUd2l0LWNvbXBvbmVudDpmaXh1cHM');
2709
2975
  ({ exports: exports0 } = await instantiateCore(await module2));
2710
2976
  ({ exports: exports1 } = await instantiateCore(await module0, {
2711
2977
  wasi_snapshot_preview1: {
@@ -2733,22 +2999,22 @@ export const $init = (async() => {
2733
2999
  'get-environment': exports0['16'],
2734
3000
  },
2735
3001
  'wasi:cli/exit@0.2.0': {
2736
- exit: trampoline8,
3002
+ exit: trampoline6,
2737
3003
  },
2738
3004
  'wasi:cli/stderr@0.2.0': {
2739
- 'get-stderr': trampoline7,
3005
+ 'get-stderr': trampoline5,
2740
3006
  },
2741
3007
  'wasi:cli/stdin@0.2.0': {
2742
- 'get-stdin': trampoline9,
3008
+ 'get-stdin': trampoline7,
2743
3009
  },
2744
3010
  'wasi:cli/stdout@0.2.0': {
2745
- 'get-stdout': trampoline10,
3011
+ 'get-stdout': trampoline8,
2746
3012
  },
2747
3013
  'wasi:cli/terminal-input@0.2.0': {
2748
- '[resource-drop]terminal-input': trampoline5,
3014
+ '[resource-drop]terminal-input': trampoline10,
2749
3015
  },
2750
3016
  'wasi:cli/terminal-output@0.2.0': {
2751
- '[resource-drop]terminal-output': trampoline6,
3017
+ '[resource-drop]terminal-output': trampoline9,
2752
3018
  },
2753
3019
  'wasi:cli/terminal-stderr@0.2.0': {
2754
3020
  'get-terminal-stderr': exports0['19'],