porffor 0.60.26 → 0.60.28

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.
@@ -1411,6 +1411,165 @@ export const BuiltinFuncs = () => {
1411
1411
  ]
1412
1412
  };
1413
1413
 
1414
+ // allow non-comptime redefinition later in precompiled
1415
+ const comptime = (name, returnType, comptime) => {
1416
+ let v = {
1417
+ returnType,
1418
+ comptime,
1419
+ params: [],
1420
+ locals: [],
1421
+ returns: []
1422
+ };
1423
+
1424
+ Object.defineProperty(_, name, {
1425
+ get() {
1426
+ return v;
1427
+ },
1428
+ set(x) {
1429
+ // v = { ...x, comptime, returnType };
1430
+ x.comptime = comptime;
1431
+ x.returnType = returnType;
1432
+ v = x;
1433
+ }
1434
+ });
1435
+ };
1436
+
1437
+ comptime('__Array_of', TYPES.array, (scope, decl, { generate }) => generate(scope, {
1438
+ type: 'ArrayExpression',
1439
+ elements: decl.arguments
1440
+ }));
1441
+
1442
+ comptime('__Porffor_fastOr', TYPES.boolean, (scope, decl, { generate }) => {
1443
+ const out = [];
1444
+
1445
+ for (let i = 0; i < decl.arguments.length; i++) {
1446
+ out.push(
1447
+ ...generate(scope, decl.arguments[i]),
1448
+ Opcodes.i32_to_u,
1449
+ ...(i > 0 ? [ [ Opcodes.i32_or ] ] : [])
1450
+ );
1451
+ }
1452
+
1453
+ out.push(Opcodes.i32_from_u);
1454
+ return out;
1455
+ });
1456
+
1457
+ comptime('__Porffor_fastAnd', TYPES.boolean, (scope, decl, { generate }) => {
1458
+ const out = [];
1459
+
1460
+ for (let i = 0; i < decl.arguments.length; i++) {
1461
+ out.push(
1462
+ ...generate(scope, decl.arguments[i]),
1463
+ Opcodes.i32_to_u,
1464
+ ...(i > 0 ? [ [ Opcodes.i32_and ] ] : [])
1465
+ );
1466
+ }
1467
+
1468
+ out.push(Opcodes.i32_from_u);
1469
+ return out;
1470
+ });
1471
+
1472
+ comptime('__Math_max', TYPES.number, (scope, decl, { generate }) => {
1473
+ const out = [
1474
+ number(-Infinity)
1475
+ ];
1476
+
1477
+ for (let i = 0; i < decl.arguments.length; i++) {
1478
+ out.push(
1479
+ ...generate(scope, decl.arguments[i]),
1480
+ [ Opcodes.f64_max ]
1481
+ );
1482
+ }
1483
+
1484
+ return out;
1485
+ });
1486
+
1487
+ comptime('__Math_min', TYPES.number, (scope, decl, { generate }) => {
1488
+ const out = [
1489
+ number(Infinity)
1490
+ ];
1491
+
1492
+ for (let i = 0; i < decl.arguments.length; i++) {
1493
+ out.push(
1494
+ ...generate(scope, decl.arguments[i]),
1495
+ [ Opcodes.f64_min ]
1496
+ );
1497
+ }
1498
+
1499
+ return out;
1500
+ });
1501
+
1502
+ comptime('__Porffor_printStatic', TYPES.undefined, (scope, decl, { printStaticStr }) => {
1503
+ const str = decl.arguments[0].value;
1504
+ const out = printStaticStr(scope, str);
1505
+ out.push(number(UNDEFINED));
1506
+ return out;
1507
+ });
1508
+
1509
+ comptime('__Porffor_type', TYPES.number, (scope, decl, { getNodeType }) => [
1510
+ ...getNodeType(scope, decl.arguments[0]),
1511
+ Opcodes.i32_from_u
1512
+ ]);
1513
+
1514
+ comptime('__Porffor_compileType', TYPES.bytestring, (scope, decl, { makeString, knownType }) =>
1515
+ makeString(scope, TYPE_NAMES[knownType(scope, getNodeType(scope, decl.arguments[0]))] ?? 'unknown')
1516
+ );
1517
+
1518
+ // Porffor.call(func, argArray, this, newTarget)
1519
+ comptime('__Porffor_call', TYPES.number, (scope, decl, { generate, getNodeType }) => generate(scope, {
1520
+ type: 'CallExpression',
1521
+ callee: decl.arguments[0],
1522
+ arguments: [ {
1523
+ type: 'SpreadElement',
1524
+ argument: decl.arguments[1],
1525
+ } ],
1526
+ _thisWasm: decl.arguments[2].value === null ? null : [
1527
+ ...generate(scope, decl.arguments[2]),
1528
+ ...getNodeType(scope, decl.arguments[2])
1529
+ ],
1530
+ _newTargetWasm: decl.arguments[3].value === null ? null : [
1531
+ ...generate(scope, decl.arguments[3]),
1532
+ ...getNodeType(scope, decl.arguments[3])
1533
+ ],
1534
+ _new: decl.arguments[3].value !== null,
1535
+ _forceCreateThis: true
1536
+ }));
1537
+
1538
+ // compile-time aware console.log to optimize fast paths
1539
+ // todo: this breaks console.group, etc - disable this if those are used but edge case for now
1540
+ comptime('__console_log', TYPES.undefined, (scope, decl, { generate, getNodeType, knownTypeWithGuess, printStaticStr }) => {
1541
+ const slow = () => {
1542
+ decl._noInternalConstr = true;
1543
+ return generate(scope, decl);
1544
+ };
1545
+ const fast = name => {
1546
+ return [
1547
+ ...generate(scope, {
1548
+ ...decl,
1549
+ callee: {
1550
+ type: 'Identifier',
1551
+ name
1552
+ }
1553
+ }),
1554
+ ...printStaticStr(scope, '\n')
1555
+ ];
1556
+ };
1557
+ if (decl.arguments.length !== 1) return slow();
1558
+
1559
+ generate(scope, decl.arguments[0]); // generate first to get accurate type
1560
+ const type = knownTypeWithGuess(scope, getNodeType(scope, decl.arguments[0]));
1561
+
1562
+ // if we know the type skip the entire print logic, use type's func directly
1563
+ if (type === TYPES.string || type === TYPES.bytestring) {
1564
+ return fast('__Porffor_printString');
1565
+ } else if (type === TYPES.number) {
1566
+ return fast('print');
1567
+ }
1568
+
1569
+ // one arg, skip most of console to avoid rest arg etc
1570
+ return fast('__Porffor_consolePrint');
1571
+ });
1572
+
1414
1573
  PrecompiledBuiltins.BuiltinFuncs(_);
1415
1574
  return _;
1416
1575
  };
@@ -1,14 +1,17 @@
1
1
  // autogenerated by compiler/precompile.js
2
2
  import { number } from './encoding.js';
3
3
 
4
+ const defaultPrefs = {"treeshakeWasmImports":false,"alwaysMemory":true,"indirectCalls":true,"optUnused":true,"data":true,"passiveData":false,"rmUnusedTypes":false,"optTypes":true,"coctc":false,"ctHash":true,"closures":false,"module":true,"truthy":"no_nan_negative","fastLength":true,"parseTypes":true,"activeData":true,"neverFallbackBuiltinProto":true};
5
+ const resetGlobals = (Valtype,Opcodes)=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store;};
6
+
4
7
  export const BuiltinFuncs = x => {
5
8
  x.__Porffor_object_hash={
6
- wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Literal\",\"value\":0,\"raw\":\"0\"},\"leadingComments\":[{\"type\":\"CommentLine\",\"value\":\" symbol, hash is unused so just return 0\"}]}]},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[32,0],[33,2],[32,0],[40,0,0],[33,3],[32,1],[65,67],[70],[4,64],[32,3],[65,2],[108],[33,3],[11],[65,374761393],[32,3],[106],[33,4],[32,2],[32,3],[106],[33,5],[3,64],[32,2],[65,4],[106],[32,5],[76],[4,64],[32,4],[32,2],[40,0,4],[65,3266489917],[108],[106],[65,17],[119],[65,668265263],[108],[33,4],[32,2],[65,4],[106],[33,2],[12,1],[11],[11],[32,4],[32,2],[40,0,4],[65,1],[32,5],[32,2],[107],[65,8],[108],[116],[65,1],[107],[113],[65,3266489917],[108],[106],[65,17],[119],[65,668265263],[108],[34,4],[32,4],[65,15],[118],[115],[65,2246822519],[108],[34,4],[32,4],[65,13],[118],[115],[65,3266489917],[108],[34,4],[32,4],[65,16],[118],[115],[15]]"),
9
+ wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Literal\",\"value\":0,\"raw\":\"0\"},\"leadingComments\":[{\"type\":\"CommentLine\",\"value\":\" symbol, hash is unused so just return 0\"}]}]},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[32,0],[33,2],[32,0],[40,0,0],[33,3],[32,1],[65,67],[70],[4,64],[32,3],[65,2],[108],[33,3],[11],[65,374761393],[32,3],[106],[33,4],[32,2],[32,3],[106],[33,5],[3,64],[32,2],[65,4],[106],[32,5],[76],[4,64],[32,4],[32,2],[40,0,4],[65,3266489917],[108],[106],[65,17],[119],[65,668265263],[108],[33,4],[32,2],[65,4],[106],[33,2],[12,1],[11],[11],[32,4],[32,2],[40,0,4],[65,1],[32,5],[32,2],[107],[65,8],[108],[116],[65,1],[107],[113],[65,3266489917],[108],[106],[65,17],[119],[65,668265263],[108],[34,4],[32,4],[65,15],[118],[115],[65,2246822519],[108],[34,4],[32,4],[65,13],[118],[115],[65,3266489917],[108],[34,4],[32,4],[65,16],[118],[115],[15]]"),
7
10
  params:[127,127],typedParams:1,returns:[127],returnType:1,jsLength:1,
8
11
  locals:[127,127,127,127],localNames:["key","key#type","p","len","hash","end"]
9
12
  }
10
13
  x.__Porffor_object_writeKey={
11
- wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[32,0],[32,4],[54,0,0],[32,2],[33,6],[32,3],[65,67],[70],[4,64],[32,6],[65,2147483648],[114],[33,6],[11],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"ExpressionStatement\",\"expression\":{\"type\":\"AssignmentExpression\",\"operator\":\"|=\",\"left\":{\"type\":\"Identifier\",\"name\":\"keyEnc\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"Literal\",\"value\":3221225472,\"raw\":\"0xc0000000\"}}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[32,0],[32,6],[54,0,4],[15]]"),
14
+ wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[32,0],[32,4],[54,0,0],[32,2],[33,6],[32,3],[65,67],[70],[4,64],[32,6],[65,2147483648],[114],[33,6],[11],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"ExpressionStatement\",\"expression\":{\"type\":\"AssignmentExpression\",\"operator\":\"|=\",\"left\":{\"type\":\"Identifier\",\"name\":\"keyEnc\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"Literal\",\"value\":3221225472,\"raw\":\"0xc0000000\"}}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[32,0],[32,6],[54,0,4],[15]]"),
12
15
  params:[127,127,127,127,127,127],typedParams:1,returns:[],returnType:0,jsLength:3,
13
16
  locals:[127],localNames:["ptr","ptr#type","key","key#type","hash","hash#type","keyEnc"]
14
17
  }
@@ -89,7 +92,7 @@ params:[127,127],typedParams:1,returns:[127,127],jsLength:1,
89
92
  locals:[127],localNames:["entryPtr","entryPtr#type","out"]
90
93
  }
91
94
  x.__Porffor_object_lookup={
92
- wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[32,0],[69],[4,64],[65,-1],[15],[26],[11],[32,0],[65,8],[106],[34,6],[32,0],[47,0,0],[65,18],[108],[106],[33,7],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"target\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"ForStatement\",\"init\":null,\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},\"operator\":\"<\",\"right\":{\"type\":\"Identifier\",\"name\":\"endPtr\",\"decorators\":[],\"optional\":false}},\"update\":{\"type\":\"AssignmentExpression\",\"operator\":\"+=\",\"left\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"Literal\",\"value\":18,\"raw\":\"18\"}},\"body\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"VariableDeclaration\",\"declarations\":[{\"type\":\"VariableDeclarator\",\"id\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false,\"typeAnnotation\":{\"type\":\"TSTypeAnnotation\",\"typeAnnotation\":{\"type\":\"TSTypeReference\",\"typeName\":{\"type\":\"Identifier\",\"name\":\"i32\",\"decorators\":[],\"optional\":false}}}},\"init\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm_i32_load\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},{\"type\":\"Literal\",\"value\":0,\"raw\":\"0\"},{\"type\":\"Literal\",\"value\":4,\"raw\":\"4\"}],\"optional\":false},\"definite\":false}],\"kind\":\"const\",\"declare\":false},{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\">>>\",\"right\":{\"type\":\"Literal\",\"value\":30,\"raw\":\"30\"},\"extra\":{\"parenthesized\":true,\"parenStart\":11888}},\"operator\":\"==\",\"right\":{\"type\":\"Literal\",\"value\":3,\"raw\":\"3\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TSAsExpression\",\"expression\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"&\",\"right\":{\"type\":\"Literal\",\"value\":1073741823,\"raw\":\"0x3FFFFFFF\"},\"extra\":{\"parenthesized\":true,\"parenStart\":12139}},\"typeAnnotation\":{\"type\":\"TSSymbolKeyword\"}},\"operator\":\"==\",\"right\":{\"type\":\"TSAsExpression\",\"expression\":{\"type\":\"Identifier\",\"name\":\"target\",\"decorators\":[],\"optional\":false},\"typeAnnotation\":{\"type\":\"TSSymbolKeyword\"}}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false}},\"alternate\":null,\"leadingComments\":[{\"type\":\"CommentLine\",\"value\":\" MSB 1 and 2 set, symbol (unset MSB x2)\"},{\"type\":\"CommentLine\",\"value\":\" todo: remove casts once weird bug which breaks unrelated things is fixed (https://github.com/CanadaHonk/porffor/commit/5747f0c1f3a4af95283ebef175cdacb21e332a52)\"}]}]},\"alternate\":null}]}},{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"UnaryExpression\",\"operator\":\"-\",\"prefix\":true,\"argument\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}}]},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[3,64],[32,6],[32,7],[72],[4,64],[32,6],[40,0,0],[32,4],[70],[4,64],[32,6],[15],[26],[11],[32,6],[65,18],[106],[33,6],[12,1],[11],[11],[65,-1],[15]]"),
95
+ wasm:(_,{usedTypes,Valtype,Opcodes,generate})=>eval("[[32,0],[69],[4,64],[65,-1],[15],[26],[11],[32,0],[65,8],[106],[34,6],[32,0],[47,0,0],[65,18],[108],[106],[33,7],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(5)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TaggedTemplateExpression\",\"tag\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm\"},\"quasi\":{\"type\":\"TemplateLiteral\",\"expressions\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"target\",\"decorators\":[],\"optional\":false},\"operator\":\"+\",\"right\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}],\"quasis\":[{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"local.get \",\"cooked\":\"local.get \"},\"tail\":false},{\"type\":\"TemplateElement\",\"value\":{\"raw\":\"\",\"cooked\":\"\"},\"tail\":true}]}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"ForStatement\",\"init\":null,\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},\"operator\":\"<\",\"right\":{\"type\":\"Identifier\",\"name\":\"endPtr\",\"decorators\":[],\"optional\":false}},\"update\":{\"type\":\"AssignmentExpression\",\"operator\":\"+=\",\"left\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"Literal\",\"value\":18,\"raw\":\"18\"}},\"body\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"VariableDeclaration\",\"declarations\":[{\"type\":\"VariableDeclarator\",\"id\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false,\"typeAnnotation\":{\"type\":\"TSTypeAnnotation\",\"typeAnnotation\":{\"type\":\"TSTypeReference\",\"typeName\":{\"type\":\"Identifier\",\"name\":\"i32\",\"decorators\":[],\"optional\":false}}}},\"init\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_wasm_i32_load\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false},{\"type\":\"Literal\",\"value\":0,\"raw\":\"0\"},{\"type\":\"Literal\",\"value\":4,\"raw\":\"4\"}],\"optional\":false},\"definite\":false}],\"kind\":\"const\",\"declare\":false},{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\">>>\",\"right\":{\"type\":\"Literal\",\"value\":30,\"raw\":\"30\"},\"extra\":{\"parenthesized\":true,\"parenStart\":11888}},\"operator\":\"==\",\"right\":{\"type\":\"Literal\",\"value\":3,\"raw\":\"3\"}},\"consequent\":{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"TSAsExpression\",\"expression\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"key\",\"decorators\":[],\"optional\":false},\"operator\":\"&\",\"right\":{\"type\":\"Literal\",\"value\":1073741823,\"raw\":\"0x3FFFFFFF\"},\"extra\":{\"parenthesized\":true,\"parenStart\":12139}},\"typeAnnotation\":{\"type\":\"TSSymbolKeyword\"}},\"operator\":\"==\",\"right\":{\"type\":\"TSAsExpression\",\"expression\":{\"type\":\"Identifier\",\"name\":\"target\",\"decorators\":[],\"optional\":false},\"typeAnnotation\":{\"type\":\"TSSymbolKeyword\"}}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"ptr\",\"decorators\":[],\"optional\":false}},\"alternate\":null,\"leadingComments\":[{\"type\":\"CommentLine\",\"value\":\" MSB 1 and 2 set, symbol (unset MSB x2)\"},{\"type\":\"CommentLine\",\"value\":\" todo: remove casts once weird bug which breaks unrelated things is fixed (https://github.com/CanadaHonk/porffor/commit/5747f0c1f3a4af95283ebef175cdacb21e332a52)\"}]}]},\"alternate\":null}]}},{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"UnaryExpression\",\"operator\":\"-\",\"prefix\":true,\"argument\":{\"type\":\"Literal\",\"value\":1,\"raw\":\"1\"}}}]},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[3,64],[32,6],[32,7],[72],[4,64],[32,6],[40,0,0],[32,4],[70],[4,64],[32,6],[15],[26],[11],[32,6],[65,18],[106],[33,6],[12,1],[11],[11],[65,-1],[15]]"),
93
96
  params:[127,127,127,127,127,127],typedParams:1,returns:[127],returnType:1,jsLength:3,
94
97
  locals:[127,127],localNames:["obj","obj#type","target","target#type","targetHash","targetHash#type","ptr","endPtr"]
95
98
  }
@@ -2198,7 +2201,7 @@ locals:[124,124,124,124,124,124,127,127,127,127,124,127,127,127,127,127,124,124,
2198
2201
  usesTag:1
2199
2202
  }
2200
2203
  x.Number={
2201
- wasm:(_,{usedTypes,Valtype,Opcodes,t,builtin,generate})=>eval("[[68,0],[33,6],[32,5],[184],[68,0],[98],[4,64],[32,4],[32,5],[16,builtin('__ecma262_ToNumeric')],[33,6],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ExpressionStatement\",\"expression\":{\"type\":\"AssignmentExpression\",\"operator\":\"=\",\"left\":{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_bigint_toNumber\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false}],\"optional\":false}}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[11],[32,0],[33,7],[32,1],[33,8],[2,124],...t([67,195],()=>[[32,8],[65,67],[70],[32,8],[65,195],[70],[114],[4,64],[32,7],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,7],[68,0],[97],[184],[11],[252,3],[4,64],[32,6],[65,1],[15],[26],[11],[32,6],[65,32],[15]]"),
2204
+ wasm:(_,{usedTypes,Valtype,Opcodes,t,builtin,generate})=>eval("[[68,0],[33,6],[32,5],[184],[68,0],[98],[4,64],[32,4],[32,5],[16,builtin('__ecma262_ToNumeric')],[33,6],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ExpressionStatement\",\"expression\":{\"type\":\"AssignmentExpression\",\"operator\":\"=\",\"left\":{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false},\"right\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_bigint_toNumber\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"n\",\"decorators\":[],\"optional\":false}],\"optional\":false}}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[11],[32,0],[33,7],[32,1],[33,8],[2,124],...t([67,195],()=>[[32,8],[65,67],[70],[32,8],[65,195],[70],[114],[4,64],[32,7],[252,3],[40,1,0],[69],[184],[12,1],[11]]),[32,7],[68,0],[97],[184],[11],[252,3],[4,64],[32,6],[65,1],[15],[26],[11],[32,6],[65,32],[15]]"),
2202
2205
  params:[124,127,124,127,124,127],typedParams:1,returns:[124,127],returnTypes:[32],jsLength:1,
2203
2206
  locals:[124,124,127],localNames:["#newtarget","#newtarget#type","#this","#this#type","value","value#type","n","#logicinner_tmp","#typeswitch_tmp1"],
2204
2207
  constr:1
@@ -2454,7 +2457,7 @@ locals:[124,127,124,124,124,124,124,127,124,124,127,127,124,127,124,124],localNa
2454
2457
  hasRestArgument:1
2455
2458
  }
2456
2459
  x.__Porffor_object_getHiddenPrototype={
2457
- wasm:(_,{hasFunc,Valtype,Opcodes,builtin,generate})=>eval("[[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___String_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"|\",\"right\":{\"type\":\"Literal\",\"value\":128,\"raw\":\"0b10000000\"},\"extra\":{\"parenthesized\":true,\"parenStart\":194}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bytestring\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_stringobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__String_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Number_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_number\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_numberobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Number_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Boolean_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_boolean\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_booleanobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Boolean_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___BigInt_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigInt_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Symbol_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Symbol_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Function_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_function\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Function_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___RegExp_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_regexp\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__RegExp_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Date_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_date\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Date_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Set_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_set\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Set_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Map_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_map\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Map_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___ArrayBuffer_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_arraybuffer\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__ArrayBuffer_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___SharedArrayBuffer_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_sharedarraybuffer\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__SharedArrayBuffer_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___DataView_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_dataview\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__DataView_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Uint8ClampedArray_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint8clampedarray\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint8ClampedArray_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Uint8Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint8array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint8Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Int8Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int8array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int8Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Uint16Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint16array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint16Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Int16Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int16array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int16Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Uint32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Int32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___BigUint64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_biguint64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigUint64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___BigInt64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigInt64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Float32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_float32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Float32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Float64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_float64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Float64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___WeakRef_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakref\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakRef_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___WeakSet_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakset\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakSet_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___WeakMap_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakmap\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakMap_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Promise_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_promise\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Promise_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get_____Porffor_Generator_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES___porffor_generator\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"____Porffor_Generator_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get_____Porffor_AsyncGenerator_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES___porffor_asyncgenerator\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"____Porffor_AsyncGenerator_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Error_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_error\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Error_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___AggregateError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_aggregateerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__AggregateError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___TypeError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_typeerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__TypeError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___ReferenceError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_referenceerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__ReferenceError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___SyntaxError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_syntaxerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__SyntaxError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___RangeError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_rangeerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__RangeError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___EvalError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_evalerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__EvalError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___URIError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_urierror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__URIError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"valtype\":\"i32\",\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,hasFunc('#get___Test262Error_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_test262error\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Test262Error_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[16,builtin('#get___Object_prototype')],[65,7],[15]]"),
2460
+ wasm:(_,{hasFunc,Valtype,Opcodes,builtin,generate})=>eval("[[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___String_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"|\",\"right\":{\"type\":\"Literal\",\"value\":128,\"raw\":\"0b10000000\"},\"extra\":{\"parenthesized\":true,\"parenStart\":194}},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bytestring\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_stringobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__String_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Number_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_number\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_numberobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Number_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Boolean_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_fastOr\"},\"arguments\":[{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_boolean\"}},{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_booleanobject\"}}],\"optional\":false},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Boolean_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___BigInt_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigInt_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Symbol_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_symbol\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Symbol_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Function_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_function\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Function_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___RegExp_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_regexp\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__RegExp_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Date_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_date\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Date_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Set_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_set\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Set_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Map_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_map\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Map_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___ArrayBuffer_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_arraybuffer\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__ArrayBuffer_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___SharedArrayBuffer_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_sharedarraybuffer\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__SharedArrayBuffer_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___DataView_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_dataview\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__DataView_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Uint8ClampedArray_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint8clampedarray\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint8ClampedArray_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Uint8Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint8array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint8Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Int8Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int8array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int8Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Uint16Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint16array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint16Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Int16Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int16array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int16Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Uint32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_uint32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Uint32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Int32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_int32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Int32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___BigUint64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_biguint64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigUint64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___BigInt64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__BigInt64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Float32Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_float32array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Float32Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Float64Array_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_float64array\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Float64Array_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___WeakRef_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakref\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakRef_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___WeakSet_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakset\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakSet_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___WeakMap_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_weakmap\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__WeakMap_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Promise_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_promise\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Promise_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get_____Porffor_Generator_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES___porffor_generator\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"____Porffor_Generator_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get_____Porffor_AsyncGenerator_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES___porffor_asyncgenerator\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"____Porffor_AsyncGenerator_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Error_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_error\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Error_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___AggregateError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_aggregateerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__AggregateError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___TypeError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_typeerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__TypeError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___ReferenceError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_referenceerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__ReferenceError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___SyntaxError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_syntaxerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__SyntaxError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___RangeError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_rangeerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__RangeError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___EvalError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_evalerror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__EvalError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___URIError_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_urierror\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__URIError_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,\"valtype\":\"i32\"};resetGlobals(Valtype,Opcodes);const b=generate(_,hasFunc('#get___Test262Error_prototype')?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"Identifier\",\"name\":\"trueType\",\"decorators\":[],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_test262error\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"__Test262Error_prototype\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[16,builtin('#get___Object_prototype')],[65,7],[15]]"),
2458
2461
  params:[127,127],typedParams:1,returns:[127,127],jsLength:1,
2459
2462
  locals:[],localNames:["trueType","trueType#type"]
2460
2463
  }
@@ -5938,7 +5941,7 @@ locals:[124,127,127],localNames:["argument","argument#type","primValue","primVal
5938
5941
  usesTag:1
5939
5942
  }
5940
5943
  x.__ecma262_ToNumeric={
5941
- wasm:(_,{usedTypes,Valtype,Opcodes,builtin,generate})=>eval("[[32,0],[33,2],[32,1],[33,3],[32,1],[184],[68,7],[97],[34,4],[4,127],[32,0],[68,0],[98],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],[32,0],[32,1],[16,builtin('__ecma262_ToPrimitive_Number')],[34,5],[33,3],[33,2],[11],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"primValue\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"primValue\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[32,2],[32,3],[16,builtin('__ecma262_ToNumber')],[15]]"),
5944
+ wasm:(_,{usedTypes,Valtype,Opcodes,builtin,generate})=>eval("[[32,0],[33,2],[32,1],[33,3],[32,1],[184],[68,7],[97],[34,4],[4,127],[32,0],[68,0],[98],[65,2],[33,5],[5],[32,4],[65,2],[33,5],[11],[4,64],[32,0],[32,1],[16,builtin('__ecma262_ToPrimitive_Number')],[34,5],[33,3],[33,2],[11],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"primValue\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"Identifier\",\"name\":\"primValue\",\"decorators\":[],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[32,2],[32,3],[16,builtin('__ecma262_ToNumber')],[15]]"),
5942
5945
  params:[124,127],typedParams:1,returns:[124],returnType:1,jsLength:1,
5943
5946
  locals:[124,127,127,127],localNames:["value","value#type","primValue","primValue#type","logictmpi","#last_type"]
5944
5947
  }
@@ -5954,7 +5957,7 @@ locals:[124],localNames:["value","value#type","integer"],
5954
5957
  usesTag:1
5955
5958
  }
5956
5959
  x.__ecma262_ToString={
5957
- wasm:(_,{usedTypes,Valtype,Opcodes,makeString,builtin,internalThrow,generate})=>eval("[[32,1],[65,128],[114],[183],[68,195],[97],[4,64],[32,0],[32,1],[15],[26],[11],[32,1],[184],[68,5],[97],[4,64],...internalThrow(_,'TypeError',`Cannot convert a Symbol value to a string`),[26],[11],[32,1],[184],[68,0],[97],[4,64],...makeString(_,\"undefined\",1),[65,195],[15],[26],[11],[32,1],[184],[68,7],[97],[32,0],[68,0],[97],[113],[4,64],...makeString(_,\"null\",1),[65,195],[15],[26],[11],[32,1],[184],[68,2],[97],[4,64],[32,0],[68,1],[97],[4,64],...makeString(_,\"true\",1),[65,195],[15],[26],[11],...makeString(_,\"false\",1),[65,195],[15],[26],[11],[32,1],[184],[68,1],[97],[4,64],[32,0],[32,1],[68,10],[65,1],[16,builtin('__Number_prototype_toString')],[34,2],[15],[26],[11],[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs={\"treeshakeWasmImports\":false,\"alwaysMemory\":true,\"indirectCalls\":true,\"optUnused\":true,\"data\":true,\"passiveData\":false,\"rmUnusedTypes\":false,\"optTypes\":true,\"coctc\":false,\"ctHash\":true,\"closures\":false,\"module\":true,\"truthy\":\"no_nan_negative\",\"fastLength\":true,\"parseTypes\":true,\"activeData\":true};r();const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"argument\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_bigint_toString\",\"decorators\":[],\"optional\":false},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"argument\",\"decorators\":[],\"optional\":false},{\"type\":\"Literal\",\"value\":10,\"raw\":\"10\"}],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}],[32,1],[184],[68,33],[97],[4,64],[32,0],[65,67],[15],[26],[11],[32,0],[32,1],[16,builtin('__ecma262_ToPrimitive_String')],[34,2],[33,4],[34,3],[32,4],[16,builtin('__ecma262_ToString')],[34,2],[15]]"),
5960
+ wasm:(_,{usedTypes,Valtype,Opcodes,makeString,builtin,internalThrow,generate})=>eval("[[32,1],[65,128],[114],[183],[68,195],[97],[4,64],[32,0],[32,1],[15],[26],[11],[32,1],[184],[68,5],[97],[4,64],...internalThrow(_,'TypeError',`Cannot convert a Symbol value to a string`),[26],[11],[32,1],[184],[68,0],[97],[4,64],...makeString(_,\"undefined\",1),[65,195],[15],[26],[11],[32,1],[184],[68,7],[97],[32,0],[68,0],[97],[113],[4,64],...makeString(_,\"null\",1),[65,195],[15],[26],[11],[32,1],[184],[68,2],[97],[4,64],[32,0],[68,1],[97],[4,64],...makeString(_,\"true\",1),[65,195],[15],[26],[11],...makeString(_,\"false\",1),[65,195],[15],[26],[11],[32,1],[184],[68,1],[97],[4,64],[32,0],[32,1],[68,10],[65,1],[16,builtin('__Number_prototype_toString')],[34,2],[15],[26],[11],[null,()=>{const a=Prefs;Prefs={...defaultPrefs,};resetGlobals(Valtype,Opcodes);const b=generate(_,usedTypes.has(4)?{\"type\":\"BlockStatement\",\"body\":[{\"type\":\"IfStatement\",\"test\":{\"type\":\"BinaryExpression\",\"left\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_type\"},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"argument\",\"decorators\":[],\"optional\":false}],\"optional\":false},\"operator\":\"==\",\"right\":{\"type\":\"Identifier\",\"name\":\"__Porffor_TYPES_bigint\"}},\"consequent\":{\"type\":\"ReturnStatement\",\"argument\":{\"type\":\"CallExpression\",\"callee\":{\"type\":\"Identifier\",\"name\":\"__Porffor_bigint_toString\",\"decorators\":[],\"optional\":false},\"arguments\":[{\"type\":\"Identifier\",\"name\":\"argument\",\"decorators\":[],\"optional\":false},{\"type\":\"Literal\",\"value\":10,\"raw\":\"10\"}],\"optional\":false}},\"alternate\":null}]}:{\"type\":\"EmptyStatement\"});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}],[32,1],[184],[68,33],[97],[4,64],[32,0],[65,67],[15],[26],[11],[32,0],[32,1],[16,builtin('__ecma262_ToPrimitive_String')],[34,2],[33,4],[34,3],[32,4],[16,builtin('__ecma262_ToString')],[34,2],[15]]"),
5958
5961
  params:[124,127],typedParams:1,returns:[124,127],jsLength:1,
5959
5962
  locals:[127,124,127],localNames:["argument","argument#type","#last_type","primValue","primValue#type"],
5960
5963
  usesTag:1
@@ -79,7 +79,7 @@ const isFuncType = type =>
79
79
  type === 'FunctionDeclaration' || type === 'FunctionExpression' || type === 'ArrowFunctionExpression' ||
80
80
  type === 'ClassDeclaration' || type === 'ClassExpression';
81
81
  const hasFuncWithName = name =>
82
- name in funcIndex || name in builtinFuncs || name in importedFuncs || name in internalConstrs;
82
+ name in funcIndex || name in builtinFuncs || name in importedFuncs;
83
83
 
84
84
  const astCache = new WeakMap();
85
85
  const cacheAst = (decl, wasm) => {
@@ -614,9 +614,6 @@ const lookup = (scope, name, failEarly = false) => {
614
614
 
615
615
  if (name in builtinFuncs) {
616
616
  if (!(name in funcIndex)) includeBuiltin(scope, name);
617
- } else if (name in internalConstrs) {
618
- // todo: return an actual something
619
- return [ number(1) ];
620
617
  }
621
618
 
622
619
  if (local?.idx === undefined) {
@@ -1528,8 +1525,8 @@ const asmFunc = (name, func) => {
1528
1525
  func = { ...func };
1529
1526
  let { wasm, params = [], locals: localTypes = [], localNames = [], table, usesTag, returnTypes, returnType } = func;
1530
1527
  if (wasm == null) { // called with no built-in
1531
- log.warning('codegen', `${name} has no built-in!`);
1532
- wasm = [];
1528
+ if (!func.comptime) log.warning('codegen', `${name} has no built-in!`);
1529
+ wasm = () => [];
1533
1530
  }
1534
1531
 
1535
1532
  const existing = builtinFuncByName(name);
@@ -1782,7 +1779,6 @@ const getNodeType = (scope, node) => {
1782
1779
  }
1783
1780
 
1784
1781
  if (name in builtinFuncs && builtinFuncs[name].returnType != null) return builtinFuncs[name].returnType;
1785
- if (name in internalConstrs && internalConstrs[name].type != null) return internalConstrs[name].type;
1786
1782
 
1787
1783
  if (name.startsWith('__Porffor_wasm_')) {
1788
1784
  // todo: return undefined for non-returning ops
@@ -2393,10 +2389,12 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2393
2389
 
2394
2390
  protoBC.default = decl.optional ?
2395
2391
  withType(scope, [ number(UNDEFINED) ], TYPES.undefined) :
2396
- generate(scope, {
2397
- ...decl,
2398
- _protoInternalCall: true
2399
- });
2392
+ (Prefs.neverFallbackBuiltinProto ?
2393
+ internalThrow(scope, 'TypeError', `'${protoName}' proto func tried to be called on a type without an impl`, true) :
2394
+ generate(scope, {
2395
+ ...decl,
2396
+ _protoInternalCall: true
2397
+ }));
2400
2398
 
2401
2399
  // fallback to object prototype impl as a basic prototype chain hack
2402
2400
  if (protoBC[TYPES.object]) {
@@ -2447,9 +2445,6 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2447
2445
  let idx;
2448
2446
  if (decl._funcIdx) {
2449
2447
  idx = decl._funcIdx;
2450
- } else if (name in internalConstrs && !decl._noInternalConstr) {
2451
- if (decl._new && internalConstrs[name].notConstr) return internalThrow(scope, 'TypeError', `${unhackName(name)} is not a constructor`, true);
2452
- return internalConstrs[name].generate(scope, decl, _global, _name);
2453
2448
  } else if (name in funcIndex) {
2454
2449
  idx = funcIndex[name];
2455
2450
  } else if (scope.name === name) {
@@ -2460,6 +2455,7 @@ const generateCall = (scope, decl, _global, _name, unusedValue = false) => {
2460
2455
  scope.usesImports = true;
2461
2456
  } else if (name in builtinFuncs) {
2462
2457
  if (decl._new && !builtinFuncs[name].constr) return internalThrow(scope, 'TypeError', `${unhackName(name)} is not a constructor`, true);
2458
+ if (builtinFuncs[name].comptime && !decl._noComptime) return builtinFuncs[name].comptime(scope, decl, { generate, getNodeType, knownTypeWithGuess, makeString, printStaticStr });
2463
2459
 
2464
2460
  includeBuiltin(scope, name);
2465
2461
  idx = funcIndex[name];
@@ -7164,187 +7160,6 @@ const generateBlock = (scope, decl) => {
7164
7160
  return out;
7165
7161
  };
7166
7162
 
7167
- const internalConstrs = {
7168
- __proto__: null,
7169
- __Array_of: {
7170
- // this is not a constructor but best fits internal structure here
7171
- generate: (scope, decl, global, name) => {
7172
- // Array.of(i0, i1, ...)
7173
- return generateArray(scope, {
7174
- elements: decl.arguments
7175
- }, global, name);
7176
- },
7177
- type: TYPES.array,
7178
- notConstr: true
7179
- },
7180
-
7181
- __Porffor_fastOr: {
7182
- generate: (scope, decl) => {
7183
- const out = [];
7184
-
7185
- for (let i = 0; i < decl.arguments.length; i++) {
7186
- out.push(
7187
- ...generate(scope, decl.arguments[i]),
7188
- Opcodes.i32_to_u,
7189
- ...(i > 0 ? [ [ Opcodes.i32_or ] ] : [])
7190
- );
7191
- }
7192
-
7193
- out.push(Opcodes.i32_from_u);
7194
-
7195
- return out;
7196
- },
7197
- type: TYPES.boolean,
7198
- notConstr: true
7199
- },
7200
-
7201
- __Porffor_fastAnd: {
7202
- generate: (scope, decl) => {
7203
- const out = [];
7204
-
7205
- for (let i = 0; i < decl.arguments.length; i++) {
7206
- out.push(
7207
- ...generate(scope, decl.arguments[i]),
7208
- Opcodes.i32_to_u,
7209
- ...(i > 0 ? [ [ Opcodes.i32_and ] ] : [])
7210
- );
7211
- }
7212
-
7213
- out.push(Opcodes.i32_from_u);
7214
-
7215
- return out;
7216
- },
7217
- type: TYPES.boolean,
7218
- notConstr: true
7219
- },
7220
-
7221
- __Math_max: {
7222
- generate: (scope, decl) => {
7223
- const out = [
7224
- number(-Infinity)
7225
- ];
7226
-
7227
- for (let i = 0; i < decl.arguments.length; i++) {
7228
- out.push(
7229
- ...generate(scope, decl.arguments[i]),
7230
- [ Opcodes.f64_max ]
7231
- );
7232
- }
7233
-
7234
- return out;
7235
- },
7236
- type: TYPES.number,
7237
- notConstr: true
7238
- },
7239
-
7240
- __Math_min: {
7241
- generate: (scope, decl) => {
7242
- const out = [
7243
- number(Infinity)
7244
- ];
7245
-
7246
- for (let i = 0; i < decl.arguments.length; i++) {
7247
- out.push(
7248
- ...generate(scope, decl.arguments[i]),
7249
- [ Opcodes.f64_min ]
7250
- );
7251
- }
7252
-
7253
- return out;
7254
- },
7255
- type: TYPES.number,
7256
- notConstr: true
7257
- },
7258
-
7259
- __Porffor_printStatic: {
7260
- generate: (scope, decl) => {
7261
- const str = decl.arguments[0].value;
7262
- const out = printStaticStr(scope, str);
7263
- out.push(number(UNDEFINED));
7264
- return out;
7265
- },
7266
- type: TYPES.undefined,
7267
- notConstr: true
7268
- },
7269
-
7270
- __Porffor_type: {
7271
- generate: (scope, decl) => [
7272
- ...getNodeType(scope, decl.arguments[0]),
7273
- Opcodes.i32_from_u
7274
- ],
7275
- type: TYPES.number,
7276
- notConstr: true
7277
- },
7278
-
7279
- __Porffor_compileType: {
7280
- generate: (scope, decl) => makeString(scope, TYPE_NAMES[knownType(scope, getNodeType(scope, decl.arguments[0]))] ?? 'unknown'),
7281
- type: TYPES.bytestring,
7282
- notConstr: true
7283
- },
7284
-
7285
- __Porffor_call: {
7286
- // Porffor.call(func, argArray, this, newTarget)
7287
- generate: (scope, decl) => generate(scope, {
7288
- type: 'CallExpression',
7289
- callee: decl.arguments[0],
7290
- arguments: [ {
7291
- type: 'SpreadElement',
7292
- argument: decl.arguments[1],
7293
- } ],
7294
- _thisWasm: decl.arguments[2].value === null ? null : [
7295
- ...generate(scope, decl.arguments[2]),
7296
- ...getNodeType(scope, decl.arguments[2])
7297
- ],
7298
- _newTargetWasm: decl.arguments[3].value === null ? null : [
7299
- ...generate(scope, decl.arguments[3]),
7300
- ...getNodeType(scope, decl.arguments[3])
7301
- ],
7302
- _new: decl.arguments[3].value !== null,
7303
- _forceCreateThis: true
7304
- }),
7305
- notConstr: true
7306
- },
7307
-
7308
- __console_log: {
7309
- // compile-time aware console.log to optimize fast paths
7310
- // todo: this breaks console.group, etc - disable this if those are used but edge case for now
7311
- generate: (scope, decl) => {
7312
- const slow = () => {
7313
- decl._noInternalConstr = true;
7314
- return generate(scope, decl);
7315
- };
7316
- const fast = name => {
7317
- return [
7318
- ...generate(scope, {
7319
- ...decl,
7320
- callee: {
7321
- type: 'Identifier',
7322
- name
7323
- }
7324
- }),
7325
- ...printStaticStr(scope, '\n')
7326
- ];
7327
- };
7328
- if (decl.arguments.length !== 1) return slow();
7329
-
7330
- generate(scope, decl.arguments[0]); // generate first to get accurate type
7331
- const type = knownTypeWithGuess(scope, getNodeType(scope, decl.arguments[0]));
7332
-
7333
- // if we know the type skip the entire print logic, use type's func directly
7334
- if (type === TYPES.string || type === TYPES.bytestring) {
7335
- return fast('__Porffor_printString');
7336
- } else if (type === TYPES.number) {
7337
- return fast('print');
7338
- }
7339
-
7340
- // one arg, skip most of console to avoid rest arg etc
7341
- return fast('__Porffor_consolePrint');
7342
- },
7343
- type: TYPES.undefined,
7344
- notConstr: true
7345
- }
7346
- };
7347
-
7348
7163
  let globals, tags, exceptions, funcs, indirectFuncs, funcIndex, currentFuncIndex, depth, pages, data, typeswitchDepth, usedTypes, coctc, globalInfer, builtinFuncs, builtinVars, lastValtype;
7349
7164
  export default program => {
7350
7165
  globals = Object.create(null);
@@ -1,5 +1,4 @@
1
1
  import { Opcodes, Valtype } from './wasmSpec.js';
2
- import { read_signedLEB128 } from './encoding.js';
3
2
  import { TYPES, TYPE_NAMES } from './types.js';
4
3
  import { createImport, importedFuncs } from './builtins.js';
5
4
  import { log } from './log.js';
@@ -48,6 +47,7 @@ globalThis.valtypeOverrides = {
48
47
  const argv = process.argv.slice();
49
48
 
50
49
  const timing = {};
50
+ let defaultPrefs = null;
51
51
  const compile = async (file, _funcs) => {
52
52
  let source = fs.readFileSync(file, 'utf8');
53
53
  let first = source.slice(0, source.indexOf('\n'));
@@ -57,7 +57,13 @@ const compile = async (file, _funcs) => {
57
57
  first = source.slice(0, source.indexOf('\n'));
58
58
  }
59
59
 
60
- let args = ['--module', '--truthy=no_nan_negative', '--no-rm-unused-types', '--fast-length', '--parse-types', '--opt-types', '--no-passive-data', '--active-data', '--no-treeshake-wasm-imports', '--no-coctc', '--no-closures'];
60
+ let args = ['--module', '--truthy=no_nan_negative', '--no-rm-unused-types', '--fast-length', '--parse-types', '--opt-types', '--no-passive-data', '--active-data', '--no-treeshake-wasm-imports', '--no-coctc', '--no-closures', '--never-fallback-builtin-proto'];
61
+ if (!defaultPrefs) {
62
+ process.argv = argv.concat(args);
63
+ globalThis.argvChanged?.();
64
+ defaultPrefs = globalThis.Prefs;
65
+ }
66
+
61
67
  if (first.startsWith('// @porf')) {
62
68
  args = first.slice('// @porf '.length).split(' ').concat(args);
63
69
  }
@@ -238,6 +244,9 @@ const precompile = async () => {
238
244
  return `// autogenerated by compiler/precompile.js
239
245
  import { number } from './encoding.js';
240
246
 
247
+ const defaultPrefs = ${JSON.stringify(defaultPrefs)};
248
+ const resetGlobals = (Valtype,Opcodes)=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store;};
249
+
241
250
  export const BuiltinFuncs = x => {
242
251
  ${funcs.map(x => {
243
252
  const rewriteWasm = wasm => {
@@ -266,11 +275,15 @@ ${funcs.map(x => {
266
275
  passAst = processAst(passAst);
267
276
  failAst = processAst(failAst);
268
277
 
278
+ // ignore default prefs in prefs for better diff and size
279
+ prefs = JSON.parse(prefs);
280
+ const diffPrefs = Object.keys(prefs).reduce((acc, x) => { if (prefs[x] !== defaultPrefs[x]) acc[x] = prefs[x]; return acc; }, {});
281
+
269
282
  const [ id, extra ] = flag.split('.');
270
- return `[null,()=>{const r=()=>{valtype=Prefs.valtype??'f64';valtypeBinary=Valtype[valtype];Opcodes.const=valtypeBinary===Valtype.i32?Opcodes.i32_const:Opcodes.f64_const;Opcodes.eq=valtypeBinary===Valtype.i32?Opcodes.i32_eq:Opcodes.f64_eq;Opcodes.eqz=valtypeBinary===Valtype.i32?[[Opcodes.i32_eqz]]:[number(0),[Opcodes.f64_eq]];Opcodes.mul=valtypeBinary===Valtype.i32?Opcodes.i32_mul:Opcodes.f64_mul;Opcodes.add=valtypeBinary===Valtype.i32?Opcodes.i32_add:Opcodes.f64_add;Opcodes.sub=valtypeBinary===Valtype.i32?Opcodes.i32_sub:Opcodes.f64_sub;Opcodes.i32_to=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_s;Opcodes.i32_to_u=valtypeBinary===Valtype.i32?[]:Opcodes.i32_trunc_sat_f64_u;Opcodes.i32_from=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_s];Opcodes.i32_from_u=valtypeBinary===Valtype.i32?[]:[Opcodes.f64_convert_i32_u];Opcodes.load=valtypeBinary===Valtype.i32?Opcodes.i32_load:Opcodes.f64_load;Opcodes.store=valtypeBinary===Valtype.i32?Opcodes.i32_store:Opcodes.f64_store};const a=Prefs;Prefs=${prefs};r();const b=generate(_,${comptimeFlagChecks[id](extra)}?${passAst}:${failAst});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;r();return b;}]`;
283
+ return `[null,()=>{const a=Prefs;Prefs={...defaultPrefs,${JSON.stringify(diffPrefs).slice(1, -1)}};resetGlobals(Valtype,Opcodes);const b=generate(_,${comptimeFlagChecks[id](extra)}?${passAst}:${failAst});if(b.at(-1)[0]>=0x41&&b.at(-1)[0]<=0x44)b.pop();Prefs=a;resetGlobals(Valtype,Opcodes);return b;}]`;
271
284
  });
272
285
 
273
- return `(_,{${str.includes('usedTypes.') ? 'usedTypes,' : ''}${str.includes('hasFunc(') ? 'hasFunc,' : ''}${str.includes('Valtype[') ? 'Valtype,' : ''}${str.includes('i32ify') ? 'i32ify,' : ''}${str.includes('Opcodes.') ? 'Opcodes,' : ''}${str.includes('...t(') ? 't,' : ''}${`${str.includes('allocPage(') ? 'allocPage,' : ''}${str.includes('makeString(') ? 'makeString,' : ''}${str.includes('glbl(') ? 'glbl,' : ''}${str.includes('loc(') ? 'loc,' : ''}${str.includes('builtin(') ? 'builtin,' : ''}${str.includes('funcRef(') ? 'funcRef,' : ''}${str.includes('internalThrow(') ? 'internalThrow,' : ''}${str.includes('generateIdent(') ? 'generateIdent,' : ''}${str.includes('generate(') ? 'generate,' : ''}`.slice(0, -1)}})=>`.replace('_,{}', '') + `eval(${JSON.stringify(str)})`;
286
+ return `(_,{${str.includes('usedTypes.') ? 'usedTypes,' : ''}${str.includes('hasFunc(') ? 'hasFunc,' : ''}${str.includes('Valtype') ? 'Valtype,' : ''}${str.includes('i32ify') ? 'i32ify,' : ''}${str.includes('Opcodes') ? 'Opcodes,' : ''}${str.includes('...t(') ? 't,' : ''}${`${str.includes('allocPage(') ? 'allocPage,' : ''}${str.includes('makeString(') ? 'makeString,' : ''}${str.includes('glbl(') ? 'glbl,' : ''}${str.includes('loc(') ? 'loc,' : ''}${str.includes('builtin(') ? 'builtin,' : ''}${str.includes('funcRef(') ? 'funcRef,' : ''}${str.includes('internalThrow(') ? 'internalThrow,' : ''}${str.includes('generateIdent(') ? 'generateIdent,' : ''}${str.includes('generate(') ? 'generate,' : ''}`.slice(0, -1)}})=>`.replace('_,{}', '') + `eval(${JSON.stringify(str)})`;
274
287
  };
275
288
 
276
289
  const locals = Object.entries(x.locals).sort((a,b) => a[1].idx - b[1].idx)
package/jsr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honk/porffor",
3
- "version": "0.60.26",
3
+ "version": "0.60.28",
4
4
  "exports": "./compiler/wrap.js",
5
5
  "publish": {
6
6
  "exclude": [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "porffor",
3
3
  "description": "An ahead-of-time JavaScript compiler",
4
- "version": "0.60.26",
4
+ "version": "0.60.28",
5
5
  "author": "Oliver Medhurst <honk@goose.icu>",
6
6
  "license": "MIT",
7
7
  "scripts": {},
package/runtime/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
- globalThis.version = '0.60.26';
3
+ globalThis.version = '0.60.28';
4
4
 
5
5
  // deno compat
6
6
  if (typeof process === 'undefined' && typeof Deno !== 'undefined') {